X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=log.cpp;fp=log.cpp;h=a0b52ccd67ccdb9f4b213f8d6e18986be7c1ebee;hb=bec1f3b8ea934fbf047421dcbf548fcc8ebac5cf;hp=0000000000000000000000000000000000000000;hpb=8dd6ce318f41a98c7281c53a0c4db6c3ed93655d;p=yandex-traffic diff --git a/log.cpp b/log.cpp new file mode 100644 index 0000000..a0b52cc --- /dev/null +++ b/log.cpp @@ -0,0 +1,68 @@ +#include + +#include "log.hpp" + + +// -------------------------------------------------- +// Log +// -------------------------------------------------- +static Log *_log; + + +Log* Log::instance () +{ + if (!_log) + _log = new Log; + + return _log; +} + + +Log::Log () + : f (0) +{ + enable (); +} + + +void Log::initFile () +{ + f = new QFile ("/tmp/yandex-traffic-widget.log"); + + if (!f->open (QIODevice::Text | QIODevice::Truncate | QIODevice::WriteOnly)) { + delete f; + f = NULL; + } +} + + +void Log::enable () +{ + if (f) + return; + + initFile (); +} + + +void Log::disable () +{ + f->close (); + delete f; + f = NULL; +} + + +void Log::add (const QString &line) +{ + if (!f) + return; + + // Build timestamp + QString ts = QDateTime::currentDateTime ().toString ("dd:MM:yy hh.mm.ss.zzz: "); + + f->write (ts.toUtf8 ()); + f->write (line.toUtf8 ()); + f->write ("\n"); + f->flush (); +}