From 4ecb33a50e05bb7302b7f8bface6a0a8af6b2e6f Mon Sep 17 00:00:00 2001 From: Federico Angelilli Date: Fri, 17 Nov 2023 21:45:01 +0100 Subject: Move away from glib logging --- src/log.h | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) (limited to 'src/log.h') diff --git a/src/log.h b/src/log.h index c96536b..ac5cdff 100644 --- a/src/log.h +++ b/src/log.h @@ -1,26 +1,39 @@ #ifndef COMET_LOG_H #define COMET_LOG_H -#include +#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 -- cgit v1.2.3