aboutsummaryrefslogtreecommitdiff
path: root/src/Log.cpp
diff options
context:
space:
mode:
authordec05eba <0xdec05eba@gmail.com>2018-06-02 01:39:25 +0200
committerdec05eba <0xdec05eba@gmail.com>2018-06-02 01:39:29 +0200
commitad7cc4dbe4dacaa5cccfd1c9adeccc0ece2299f4 (patch)
treeb045f3bc6068fb797203953d661bad5fcc9c509f /src/Log.cpp
parent595b1b7d2fc7aa084296978b8a38a26ed960a0f5 (diff)
Receive data with epoll_wait
Diffstat (limited to 'src/Log.cpp')
-rw-r--r--src/Log.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/Log.cpp b/src/Log.cpp
new file mode 100644
index 0000000..df424f0
--- /dev/null
+++ b/src/Log.cpp
@@ -0,0 +1,43 @@
+#include "../include/Log.hpp"
+#include <cstdarg>
+#include <cstdio>
+#include <mutex>
+
+namespace sibs
+{
+ // TODO: Disable color if stdout/stderr is not tty
+ static std::mutex mutexLog;
+
+ void Log::debug(const char *fmt, ...)
+ {
+ std::lock_guard<std::mutex> lock(mutexLog);
+ va_list args;
+ va_start(args, fmt);
+ fputs("\033[1;32mDebug:\033[0m ", stdout);
+ vfprintf(stdout, fmt, args);
+ fputs("\n", stdout);
+ va_end(args);
+ }
+
+ void Log::warn(const char *fmt, ...)
+ {
+ std::lock_guard<std::mutex> lock(mutexLog);
+ va_list args;
+ va_start(args, fmt);
+ fputs("\033[1;33mWarning:\033[0m ", stdout);
+ vfprintf(stdout, fmt, args);
+ fputs("\n", stdout);
+ va_end(args);
+ }
+
+ void Log::error(const char *fmt, ...)
+ {
+ std::lock_guard<std::mutex> lock(mutexLog);
+ va_list args;
+ va_start(args, fmt);
+ fputs("\033[1;31mError:\033[0m ", stderr);
+ vfprintf(stderr, fmt, args);
+ fputs("\n", stderr);
+ va_end(args);
+ }
+}