diff options
| author | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-03-23 23:18:56 +0100 | 
|---|---|---|
| committer | dimitri staessens <dimitri.staessens@intec.ugent.be> | 2016-03-24 10:27:41 +0100 | 
| commit | e0b7acc5ace72dc34561c635d32fb2085765c8ca (patch) | |
| tree | a7a3a499d03d2d9089480ab2d1a003f9e6ca706a | |
| parent | eb46e3ddc161c543ea268c54f0c6db40019d25c1 (diff) | |
| download | ouroboros-e0b7acc5ace72dc34561c635d32fb2085765c8ca.tar.gz ouroboros-e0b7acc5ace72dc34561c635d32fb2085765c8ca.zip  | |
lib: updated log message formatting
logs will now display as follows:
(EE): error, in red
(WW): warning, in yellow
(II): info, in green
(NI): missing code, in blue
(DB): debug messages in white
| -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  | 
