X-Git-Url: http://xvm.mit.edu/gitweb/invirt/third/libt4.git/blobdiff_plain/869c0cc91d8f6b2bb80026616372d16450b64d9f..c06ef44e7af1571710fd31dd0ab068dd77b1eb2d:/threaded_log.cc diff --git a/threaded_log.cc b/threaded_log.cc index 0160f33..3218e33 100644 --- a/threaded_log.cc +++ b/threaded_log.cc @@ -1,20 +1,14 @@ -#include "threaded_log.h" #include "t4.h" - -static std::mutex log_mutex; -static std::map thread_name_map; -static int next_thread_num = 0; -static std::map instance_name_map; -static int next_instance_num = 0; -int DEBUG_LEVEL = 0; +#include "types.h" +#include "threaded_log.h" using namespace std::chrono; locked_ostream && _log_prefix(locked_ostream && f, const string & file, const string & func) { auto thread = std::this_thread::get_id(); - int tid = thread_name_map[thread]; + int tid = global->thread_name_map[thread]; if (tid==0) - tid = thread_name_map[thread] = ++next_thread_num; + tid = global->thread_name_map[thread] = ++global->next_thread_num; auto utime = duration_cast( system_clock::now().time_since_epoch()).count() % 1000000000; f << std::setfill('0') << std::dec << std::left << std::setw(9) << utime << " "; @@ -24,13 +18,17 @@ locked_ostream && _log_prefix(locked_ostream && f, const string & file, const st } locked_ostream && _log_member(locked_ostream && f, const void *ptr) { - int id = instance_name_map[ptr]; + int id = global->instance_name_map[ptr]; if (id == 0) - id = instance_name_map[ptr] = ++next_instance_num; + id = global->instance_name_map[ptr] = ++global->next_instance_num; f << "#" << std::left << std::setw(2) << id << " "; return std::move(f); } +int _log_debug_level() { + return global->DEBUG_LEVEL; +} + lock _log_lock() { - return lock(log_mutex); + return lock(global->log_mutex); }