summaryrefslogtreecommitdiff
path: root/src/log.hpp
diff options
context:
space:
mode:
authorFrederico Linhares <fred@linhares.blue>2022-08-03 15:25:29 -0300
committerFrederico Linhares <fred@linhares.blue>2022-08-03 15:25:29 -0300
commit60b38f632e4d6e9416630de6120dafcac613a698 (patch)
tree458c35df273166b68a3fd26095226b88bba9371e /src/log.hpp
parentf88712a929ee3543f8e1d45c6071f676df339cdb (diff)
feat Create a log system
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 */