X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Flog_entry.cc;h=2980e438b084555d5718ddb52900355fc3e79280;hp=53605c389546e04f139449348e932188241fab79;hb=da44da6f31f97d39ca91c35955e573e76371f2c2;hpb=422be0eece2bf6ee80db1d3c21553cd82efff789 diff --git a/src/lib/log_entry.cc b/src/lib/log_entry.cc index 53605c389..2980e438b 100644 --- a/src/lib/log_entry.cc +++ b/src/lib/log_entry.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2015 Carl Hetherington + Copyright (C) 2015-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,54 +18,67 @@ */ + #include "log_entry.h" -#include +#include +#include #include "i18n.h" -int const LogEntry::TYPE_GENERAL = 0x1; -int const LogEntry::TYPE_WARNING = 0x2; -int const LogEntry::TYPE_ERROR = 0x4; -int const LogEntry::TYPE_DEBUG_DECODE = 0x8; -int const LogEntry::TYPE_DEBUG_ENCODE = 0x10; -int const LogEntry::TYPE_TIMING = 0x20; -int const LogEntry::TYPE_DEBUG_EMAIL = 0x40; + +int const LogEntry::TYPE_GENERAL = 0x001; +int const LogEntry::TYPE_WARNING = 0x002; +int const LogEntry::TYPE_ERROR = 0x004; +int const LogEntry::TYPE_DEBUG_THREE_D = 0x008; +int const LogEntry::TYPE_DEBUG_ENCODE = 0x010; +int const LogEntry::TYPE_TIMING = 0x020; +int const LogEntry::TYPE_DEBUG_EMAIL = 0x040; +int const LogEntry::TYPE_DEBUG_VIDEO_VIEW = 0x080; +int const LogEntry::TYPE_DISK = 0x100; +int const LogEntry::TYPE_DEBUG_PLAYER = 0x200; +int const LogEntry::TYPE_DEBUG_AUDIO_ANALYSIS = 0x400; + using std::string; + LogEntry::LogEntry (int type) : _type (type) { gettimeofday (&_time, 0); } + string LogEntry::get () const { - locked_stringstream s; + string s; if (_type & TYPE_TIMING) { - s << _time.tv_sec << ":" << _time.tv_usec << " "; + char buffer[64]; + snprintf (buffer, sizeof(buffer), "%" PRId64 ":%" PRId64 " ", static_cast(_time.tv_sec), static_cast(_time.tv_usec)); + s += buffer; } else { char buffer[64]; time_t const sec = _time.tv_sec; struct tm* t = localtime (&sec); strftime (buffer, 64, "%c", t); string a (buffer); - s << a << N_(": "); + s += string(buffer) + N_(": "); } if (_type & TYPE_ERROR) { - s << "ERROR: "; + s += "ERROR: "; } if (_type & TYPE_WARNING) { - s << "WARNING: "; + s += "WARNING: "; } - s << message (); - return s.str (); + s += message (); + return s; } + double LogEntry::seconds () const {