diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/ouroboros/logs.h | 28 | 
1 files changed, 20 insertions, 8 deletions
| diff --git a/include/ouroboros/logs.h b/include/ouroboros/logs.h index 6f9986dc..344a7ddc 100644 --- a/include/ouroboros/logs.h +++ b/include/ouroboros/logs.h @@ -30,21 +30,33 @@  #error You must define OUROBOROS_PREFIX before including this file  #endif -#define __LOG(PFX, LVL, FMT, ARGS...)                                   \ -        do { printf(PFX "(" LVL "): " FMT "\n", ##ARGS); } while (0) - -#define LOG_ERR(FMT,   ARGS...) __LOG(OUROBOROS_PREFIX, "ERR",  FMT, ##ARGS) -#define LOG_WARN(FMT,  ARGS...) __LOG(OUROBOROS_PREFIX, "WARN", FMT, ##ARGS) -#define LOG_INFO(FMT,  ARGS...) __LOG(OUROBOROS_PREFIX, "INFO", FMT, ##ARGS) +#define ANSI_COLOR_RED     "\x1b[31m" +#define ANSI_COLOR_GREEN   "\x1b[32m" +#define ANSI_COLOR_YELLOW  "\x1b[33m" +#define ANSI_COLOR_BLUE    "\x1b[34m" +#define ANSI_COLOR_RESET   "\x1b[0m" + +#define __LOG(CLR, PFX, LVL, FMT, ARGS...)                                     \ +        do { printf(CLR PFX "(" LVL "): " FMT ANSI_COLOR_RESET "\n", ##ARGS); }\ +        while (0) + +#define LOG_ERR(FMT,   ARGS...) __LOG(ANSI_COLOR_RED, OUROBOROS_PREFIX,        \ +                                      "EE", FMT, ##ARGS) +#define LOG_WARN(FMT,  ARGS...) __LOG(ANSI_COLOR_YELLOW, OUROBOROS_PREFIX,     \ +                                      "WW", FMT, ##ARGS) +#define LOG_INFO(FMT,  ARGS...) __LOG(ANSI_COLOR_GREEN, OUROBOROS_PREFIX,      \ +                                      "II", FMT, ##ARGS) +#define LOG_NI(FMT,   ARGS...) __LOG(ANSI_COLOR_BLUE, OUROBOROS_PREFIX,        \ +                                     "NI",  FMT, ##ARGS)  #ifdef CONFIG_OUROBOROS_DEBUG -#define LOG_DBG(FMT,   ARGS...) __LOG(OUROBOROS_PREFIX, "DBG", FMT, ##ARGS) +#define LOG_DBG(FMT,   ARGS...) __LOG("", OUROBOROS_PREFIX, "DB", FMT, ##ARGS)  #else  #define LOG_DBG(FMT,   ARGS...) do { } while (0)  #endif  #define LOG_DBGF(FMT,  ARGS...) LOG_DBG("%s: " FMT, __FUNCTION__, ##ARGS) -#define LOG_MISSING LOG_ERR("Missing code in %s:%d",__FILE__, __LINE__) +#define LOG_MISSING LOG_NI("Missing code in %s:%d",__FILE__, __LINE__)  #endif | 
