logger: resolve level string in msgWithTime
authorWolfgang Müller <vehk@vehk.de>
Sat, 12 Jan 2019 18:14:28 +0000 (19:14 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Thu, 14 Feb 2019 21:16:15 +0000 (22:16 +0100)
This means that the log level string is included in logs to files
and stdout even if syslog output is enabled.

src/common/logger.cpp

index 2c601fd..031aa5e 100644 (file)
@@ -37,7 +37,27 @@ namespace {
 
 QByteArray msgWithTime(const Logger::LogEntry& msg)
 {
-    return (msg.timeStamp.toString("yyyy-MM-dd hh:mm:ss ") + msg.message + "\n").toUtf8();
+    QString levelString;
+
+    switch (msg.logLevel) {
+        case Logger::LogLevel::Debug:
+            levelString = "[Debug] ";
+            break;
+        case Logger::LogLevel::Info:
+            levelString = "[Info ] ";
+            break;
+        case Logger::LogLevel::Warning:
+            levelString = "[Warn ] ";
+            break;
+        case Logger::LogLevel::Error:
+            levelString = "[Error] ";
+            break;
+        case Logger::LogLevel::Fatal:
+            levelString = "[FATAL] ";
+            break;
+    }
+
+    return (msg.timeStamp.toString("yyyy-MM-dd hh:mm:ss ") + levelString + msg.message + "\n").toUtf8();
 }
 
 }  // namespace
@@ -151,31 +171,8 @@ void Logger::handleMessage(QtMsgType type, const QString& msg)
 
 void Logger::handleMessage(LogLevel level, const QString& msg)
 {
-    QString logString;
-
-    // Only add the log level to the message if we do not output to syslog
-    if (!_syslogEnabled) {
-        switch (level) {
-        case LogLevel::Debug:
-            logString = "[Debug] ";
-            break;
-        case LogLevel::Info:
-            logString = "[Info ] ";
-            break;
-        case LogLevel::Warning:
-            logString = "[Warn ] ";
-            break;
-        case LogLevel::Error:
-            logString = "[Error] ";
-            break;
-        case LogLevel::Fatal:
-            logString = "[FATAL] ";
-            break;
-        }
-    }
-
     // Use signal connection to make this method thread-safe
-    emit messageLogged({QDateTime::currentDateTime(), level, logString += msg});
+    emit messageLogged({QDateTime::currentDateTime(), level, msg});
 }
 
 void Logger::onMessageLogged(const LogEntry& message)