summaryrefslogtreecommitdiff
path: root/src/log.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/log.hpp')
-rw-r--r--src/log.hpp35
1 files changed, 32 insertions, 3 deletions
diff --git a/src/log.hpp b/src/log.hpp
index 90e632c..2856f20 100644
--- a/src/log.hpp
+++ b/src/log.hpp
@@ -17,9 +17,38 @@
#ifndef CANDY_GEAR_LOG_H
#define CANDY_GEAR_LOG_H 1
-#include "core.hpp"
+#include <string>
-void
-cg_log_init(mrb_state *mrb);
+#define CANDY_GEAR_LOG_LEVEL_FATAL 0
+#define CANDY_GEAR_LOG_LEVEL_ERROR 1
+#define CANDY_GEAR_LOG_LEVEL_WARNING 2
+#define CANDY_GEAR_LOG_LEVEL_INFORMATION 3
+#define CANDY_GEAR_LOG_LEVEL_DEBUG 4
+#define CANDY_GEAR_LOG_LEVEL_TRACE 5
+
+namespace Log
+{
+
+enum class Level
+{
+ Fatal = CANDY_GEAR_LOG_LEVEL_FATAL,
+ Error = CANDY_GEAR_LOG_LEVEL_ERROR,
+ Warning = CANDY_GEAR_LOG_LEVEL_WARNING,
+ Information = CANDY_GEAR_LOG_LEVEL_INFORMATION,
+ Debug = CANDY_GEAR_LOG_LEVEL_DEBUG,
+ Trace = CANDY_GEAR_LOG_LEVEL_TRACE
+};
+
+struct Logger
+{
+
+ void
+ message(Level lvl, const char* text);
+
+ inline void
+ message(Level lvl, const std::string &text) {message(lvl, text.c_str());}
+};
+
+}
#endif /* CANDY_GEAR_LOG_H */