diff options
Diffstat (limited to 'src/log.hpp')
-rw-r--r-- | src/log.hpp | 35 |
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 */ |