X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Flog.cc;h=ef36a902cbbc76027982bc8a054630ca1e693d38;hb=b68591911bd8116df0ad987627244b9bdf87de89;hp=7f1eea20634f8cba480d8d6884765f7e1be14268;hpb=c0ed407fb02891f0dd364e78b6192f0e6dbe1d8d;p=dcpomatic.git diff --git a/src/lib/log.cc b/src/lib/log.cc index 7f1eea206..ef36a902c 100644 --- a/src/lib/log.cc +++ b/src/lib/log.cc @@ -25,10 +25,12 @@ #include #include "log.h" +#include "i18n.h" + using namespace std; Log::Log () - : _level (VERBOSE) + : _level (STANDARD) { } @@ -42,16 +44,33 @@ Log::log (string m, Level l) if (l > _level) { return; } - + time_t t; time (&t); string a = ctime (&t); stringstream s; - s << a.substr (0, a.length() - 1) << ": " << m; + s << a.substr (0, a.length() - 1) << N_(": ") << m; do_log (s.str ()); } +void +Log::microsecond_log (string m, Level l) +{ + boost::mutex::scoped_lock lm (_mutex); + + if (l > _level) { + return; + } + + struct timeval tv; + gettimeofday (&tv, 0); + + stringstream s; + s << tv.tv_sec << N_(":") << tv.tv_usec << N_(" ") << m; + do_log (s.str ()); +} + void Log::set_level (Level l) { @@ -59,6 +78,19 @@ Log::set_level (Level l) _level = l; } +void +Log::set_level (string l) +{ + if (l == N_("verbose")) { + set_level (VERBOSE); + return; + } else if (l == N_("timing")) { + set_level (TIMING); + return; + } + + set_level (STANDARD); +} /** @param file Filename to write log to */ FileLog::FileLog (string file) @@ -71,6 +103,6 @@ void FileLog::do_log (string m) { ofstream f (_file.c_str(), fstream::app); - f << m << "\n"; + f << m << N_("\n"); }