diff options
author | Max Kusatz <max@trialserver.de> | 2020-08-22 14:08:46 +0200 |
---|---|---|
committer | Max Kusatz <max@trialserver.de> | 2020-08-22 14:08:46 +0200 |
commit | 598218e9e1d6e97b7793b0cff2c0d50cab879fa4 (patch) | |
tree | b0c80ca9c038195f4f473a34cb99d0c01479676a /src/Utilities/Logger.cpp | |
parent | 537a243882f49cd95b304ecf283de950440fd66a (diff) | |
download | n_core-598218e9e1d6e97b7793b0cff2c0d50cab879fa4.tar.gz n_core-598218e9e1d6e97b7793b0cff2c0d50cab879fa4.zip |
Mensa working sort of with JSON
Diffstat (limited to 'src/Utilities/Logger.cpp')
-rw-r--r-- | src/Utilities/Logger.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/Utilities/Logger.cpp b/src/Utilities/Logger.cpp new file mode 100644 index 0000000..333ae16 --- /dev/null +++ b/src/Utilities/Logger.cpp @@ -0,0 +1,48 @@ +#include "Logger.hpp" + +/*void Logger::Log(const TelegramMessage& message, LogLevel logLevel) { + Log("[" + message->from->username + "] " + message->text, logLevel); +}*/ + +void Logger::Log(const string& inMsg, LogLevel logLevel) { + string outMsg; + +#ifdef NDEBUG + if (logLevel == LogLevel::lDEBUG) { + // don't log debug messages in release mode + return; + } +#endif + + // prefix message with time + outMsg = "[" + NOW_STRING + "]"; + + // TODO: let at least some (ERROR, WARN) levels go to stderr, not stdout + // prefix log level - TODO: allow filtering based on globally set level? + switch (logLevel) { + case LogLevel::lSTATUS: + outMsg += " [STATUS] " + inMsg; + break; + case LogLevel::lDEBUG: + outMsg += " [DEBUG] " + inMsg; + break; + case LogLevel::lINFO: + outMsg += " [INFO] " + inMsg; + break; + case LogLevel::lWARN: + outMsg += " [WARN] " + inMsg; + break; + case LogLevel::lERROR: + outMsg += " [ERROR] " + inMsg; + break; + } + + Print(outMsg); +} + +void Logger::Print(const string& msg) { + // console output + cout << msg << endl; + + // file output | TODO: Logger needs state for that - or at least needs to pretend to have one +}
\ No newline at end of file |