aboutsummaryrefslogtreecommitdiffstats
path: root/yage/core/logsink.cpp
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2018-01-05 15:56:35 +0000
committerYann Herklotz <ymherklotz@gmail.com>2018-01-05 15:56:35 +0000
commitdb6480dccd9a3dbf4100a824930a36251f4e743c (patch)
treea36c5be39c86f9888e64076ef44c386e5160c088 /yage/core/logsink.cpp
parent7b95e3a9eacf296f215c73e5d8ad9090a24adb20 (diff)
downloadYAGE-db6480dccd9a3dbf4100a824930a36251f4e743c.tar.gz
YAGE-db6480dccd9a3dbf4100a824930a36251f4e743c.zip
[Engine] Log levels added to engine.
Diffstat (limited to 'yage/core/logsink.cpp')
-rw-r--r--yage/core/logsink.cpp33
1 files changed, 31 insertions, 2 deletions
diff --git a/yage/core/logsink.cpp b/yage/core/logsink.cpp
index 6680c773..1f026059 100644
--- a/yage/core/logsink.cpp
+++ b/yage/core/logsink.cpp
@@ -82,8 +82,37 @@ public:
auto time_t = system_clock::to_time_t(now);
auto local_time = std::localtime(&time_t);
- (*fileHandle_) << std::put_time(local_time, "[%H:%M:%S] ") << msg
- << " (" << meta.fileName << ":" << meta.lineNo << ")\n";
+ std::string level;
+
+ switch (meta.level) {
+ case LogLevel::DEBUG:
+ level = "DEBUG";
+ break;
+ case LogLevel::INFO:
+ level = "INFO";
+ break;
+ case LogLevel::WARNING:
+ level = "WARNING";
+ break;
+ case LogLevel::ERROR:
+ level = "ERROR";
+ break;
+ case LogLevel::FATAL:
+ level = "FATAL";
+ break;
+ }
+
+ (*fileHandle_) << std::put_time(local_time, "[%H:%M:%S] [") << level
+ << "] " << msg << "\n";
+ if (meta.fileName != "") {
+ (*fileHandle_) << "(" << meta.fileName;
+ if (meta.line != -1) {
+ (*fileHandle_) << ":" << meta.line << ")";
+ } else {
+ (*fileHandle_) << ")";
+ }
+ }
+ (*fileHandle_) << "\n\n";
}
private: