X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Flog_entry.cc;h=2980e438b084555d5718ddb52900355fc3e79280;hp=ea2d22462932fb5d6d1edf89ecd084d0391883c1;hb=da44da6f31f97d39ca91c35955e573e76371f2c2;hpb=10a0dd6c5153019e0b17793c812f1653f26e0960 diff --git a/src/lib/log_entry.cc b/src/lib/log_entry.cc index ea2d22462..2980e438b 100644 --- a/src/lib/log_entry.cc +++ b/src/lib/log_entry.cc @@ -1,70 +1,84 @@ /* - Copyright (C) 2015 Carl Hetherington + Copyright (C) 2015-2021 Carl Hetherington - This program is free software; you can redistribute it and/or modify + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. - This program is distributed in the hope that it will be useful, + DCP-o-matic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with DCP-o-matic. If not, see . */ + #include "log_entry.h" -#include "safe_stringstream.h" +#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 { - SafeStringStream 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.substr (0, a.length() - 1) << 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 {