diff options
Diffstat (limited to 'src/log.h')
| -rw-r--r-- | src/log.h | 35 |
1 files changed, 24 insertions, 11 deletions
@@ -1,26 +1,39 @@ #ifndef COMET_LOG_H #define COMET_LOG_H -#include <glib.h> +#define COLOR_CLEAR "\x1b[0m" +#define COLOR_DEBUG "\x1b[1;37m" +#define COLOR_INFO "\x1b[1;96m" +#define COLOR_WARN "\x1b[1;33m" +#define COLOR_ERROR "\x1b[1;31m" #define DEBUG_FORMAT(format, ...) \ - "[%s] \x1b[1mdebug\x1b[0m: " format, __func__, ## __VA_ARGS__ + "[%s] " COLOR_DEBUG "debug" COLOR_CLEAR ": " format "\n", __func__, ## __VA_ARGS__ #define INFO_FORMAT(format, ...) \ - "[%s] \x1b[1;96minfo\x1b[0m: " format, __func__, ## __VA_ARGS__ + "[%s] " COLOR_INFO "info" COLOR_CLEAR ": " format "\n", __func__, ## __VA_ARGS__ -#define WARNING_FORMAT(format, ...) \ - "[%s] \x1b[1;33mwarning\x1b[0m: " format, __func__, ## __VA_ARGS__ +#define WARN_FORMAT(format, ...) \ + "[%s] " COLOR_WARN "warning" COLOR_CLEAR ": " format "\n", __func__, ## __VA_ARGS__ #define ERROR_FORMAT(format, ...) \ - "[%s] \x1b[1;31merror\x1b[0m: " format, __func__, ## __VA_ARGS__ + "[%s] " COLOR_ERROR "error" COLOR_CLEAR ": " format "\n", __func__, ## __VA_ARGS__ -#define log_debug(...) g_debug(DEBUG_FORMAT(__VA_ARGS__)) -#define log_info(...) g_info(INFO_FORMAT(__VA_ARGS__)) -#define log_warning(...) g_warning(WARNING_FORMAT(__VA_ARGS__)) -#define log_error(...) g_error(ERROR_FORMAT(__VA_ARGS__)) +#define log_debug(...) log_generic(LOG_DEBUG, DEBUG_FORMAT(__VA_ARGS__)) +#define log_info(...) log_generic(LOG_INFO, INFO_FORMAT(__VA_ARGS__)) +#define log_warn(...) log_generic(LOG_WARN, WARN_FORMAT(__VA_ARGS__)) +#define log_error(...) log_generic(LOG_ERROR, ERROR_FORMAT(__VA_ARGS__)) -void log_init(GLogLevelFlags level); +typedef enum { + LOG_DEBUG, + LOG_INFO, + LOG_WARN, + LOG_ERROR, +} LogLevel; + +void log_init(LogLevel level); + +void log_generic(LogLevel level, const char *format, ...); #endif |
