summaryrefslogtreecommitdiff
path: root/updater/Logger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'updater/Logger.cpp')
-rw-r--r--[l---------]updater/Logger.cpp100
1 files changed, 99 insertions, 1 deletions
diff --git a/updater/Logger.cpp b/updater/Logger.cpp
index d1ee7ee..67c4907 120000..100644
--- a/updater/Logger.cpp
+++ b/updater/Logger.cpp
@@ -1 +1,99 @@
-../client/Logger.cpp \ No newline at end of file
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <string>
+#include <time.h>
+#include "Logger.h"
+
+using std::string;
+
+LogLevelType Logger::LogLevel = TraceLevel;
+
+#ifdef DEBUG
+
+void Logger::Trace(string msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ Logger::Log(TraceLevel, msg, args);
+}
+
+void Logger::Debug(string msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ Logger::Log(DebugLevel, msg, args);
+}
+
+void Logger::Info(string msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ Logger::Log(InfoLevel, msg, args);
+}
+
+void Logger::Warn(string msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ Logger::Log(WarnLevel, msg, args);
+}
+
+void Logger::Error(string msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ Logger::Log(ErrorLevel, msg, args);
+}
+
+void Logger::Fatal(string msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ Logger::Log(FatalLevel, msg, args);
+}
+
+void Logger::Log(LogLevelType logLevel, string msg, ...)
+{
+ va_list args;
+ va_start(args, msg);
+ Logger::Log(logLevel, msg, args);
+}
+
+void Logger::Log(LogLevelType logLevel, string msg, va_list args)
+{
+ time_t rawtime = time(NULL);
+ struct tm *lctime = localtime(&rawtime);
+ char time_str[10] = {0};
+ strftime(time_str, 10, "%H:%M:%S", lctime);
+
+ string log_level_str;
+ switch (logLevel)
+ {
+ default:
+ case TraceLevel:
+ log_level_str = "Trace";
+ break;
+ case DebugLevel:
+ log_level_str = "Debug";
+ break;
+ case InfoLevel:
+ log_level_str = "Info";
+ break;
+ case WarnLevel:
+ log_level_str = "Warn";
+ break;
+ case ErrorLevel:
+ log_level_str = "Error";
+ break;
+ case FatalLevel:
+ log_level_str = "Fatal";
+ break;
+ }
+
+ char *newfmt = new char[msg.size() + 24];
+ sprintf(newfmt, "[%s] %-6s: %s", time_str, log_level_str.c_str(), msg.c_str());
+ vfprintf(stderr, newfmt, args);
+}
+
+#endif \ No newline at end of file