#include "threaded_log.h"
-mutex cerr_mutex;
-map<thread::id, int> thread_name_map;
-int next_thread_num = 0;
-map<const void *, int> instance_name_map;
-int next_instance_num = 0;
+static mutex log_mutex;
+static map<thread::id, int> thread_name_map;
+static int next_thread_num = 0;
+static map<const void *, int> instance_name_map;
+static int next_instance_num = 0;
int DEBUG_LEVEL = 0;
locked_ostream && _log_prefix(locked_ostream && f, const string & file, const string & func) {
if (tid==0)
tid = thread_name_map[thread] = ++next_thread_num;
auto utime = duration_cast<microseconds>(system_clock::now().time_since_epoch()).count() % 1000000000;
- f << setfill('0') << dec << left << setw(9) << utime << " ";
- f << setfill(' ') << log_thread_prefix << left << setw(2) << tid;
- f << " " << setw(20) << file << " " << setw(18) << func;
- return move(f);
+ f << std::setfill('0') << std::dec << std::left << std::setw(9) << utime << " ";
+ f << std::setfill(' ') << log_thread_prefix << std::left << std::setw(2) << tid;
+ f << " " << std::setw(20) << file << " " << std::setw(18) << func;
+ return std::move(f);
}
locked_ostream && _log_member(locked_ostream && f, const void *ptr) {
int id = instance_name_map[ptr];
if (id == 0)
id = instance_name_map[ptr] = ++next_instance_num;
- f << "#" << left << setw(2) << id << " ";
- return move(f);
+ f << "#" << std::left << std::setw(2) << id << " ";
+ return std::move(f);
+}
+
+lock _log_lock() {
+ return lock(log_mutex);
}