#include "loggerengine.h" // -------------------------------------------------------------------------------------------------- // base of a custom logger engine for the framebuffer //--------------------------------------------------------------------------------------------------- LoggerEngine_fb::LoggerEngine_fb(QTextEdit *parent) : QxtLoggerEngine() { _debugConsole = parent; //_initialized = false; //setLogLevelsEnabled(QxtLogger::DebugLevel); //enableLogging(); } LoggerEngine_fb::~LoggerEngine_fb() { } void LoggerEngine_fb::initLoggerEngine() { //_initialized = true; return; } void LoggerEngine_fb::killLoggerEngine() { return; } void LoggerEngine_fb::setLogLevelEnabled(QxtLogger::LogLevels level, bool enable) { //QxtLoggerEngine::setLogLevelsEnabled(level, enable); //if (!enable) QxtLoggerEngine::setLogLevelsEnabled(QxtLogger::DebugLevel); } bool LoggerEngine_fb::isInitialized() const { //return _initialized; return true; } void LoggerEngine_fb::writeFormatted(QxtLogger::LogLevel level, const QList & msgs) { if (msgs.isEmpty()) return; QString header = '[' + QTime::currentTime().toString("hh:mm:ss.zzz") + "] "; _debugConsole->insertPlainText(header); // only write to console for debug level if (level == QxtLogger::DebugLevel) { Q_FOREACH(const QVariant& out, msgs) { if (!out.isNull()) _debugConsole->insertPlainText(out.toString()); } _debugConsole->insertPlainText(QString("\n")); // autoscroll QTextCursor c = _debugConsole->textCursor(); c.movePosition(QTextCursor::End); _debugConsole->setTextCursor(c); } } //--------------------------------------------------------------------------------------------------- // slighty modified QxtBasicSTDLoggerEngine //--------------------------------------------------------------------------------------------------- LoggerEngine_std::LoggerEngine_std() : QxtBasicSTDLoggerEngine() { } LoggerEngine_std::~LoggerEngine_std() { } void LoggerEngine_std::writeToStdErr(const QString& str_level, const QList &msgs) { if (msgs.isEmpty()) return; QString header = '[' + QTime::currentTime().toString("hh:mm:ss.zzz") + "] "; QTextStream* errstream = stdErrStream(); Q_ASSERT(errstream); *errstream << header; Q_FOREACH(const QVariant& out, msgs) { if (!out.isNull()) *errstream << out.toString(); } *errstream << endl; } void LoggerEngine_std::writeToStdOut(const QString& level, const QList & msgs) { // reimplementing this is needed for compiling, // we only need write to std::err, so this function is not needed }