diff options
Diffstat (limited to 'src/ckerrlog.h')
-rw-r--r-- | src/ckerrlog.h | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/src/ckerrlog.h b/src/ckerrlog.h index d3d7243..2506e99 100644 --- a/src/ckerrlog.h +++ b/src/ckerrlog.h @@ -19,19 +19,23 @@ #define CK_STREAMS \ X(err) \ X(log) \ - X(help) + X(logv) \ + X(help) -void ckerr_add_component(char *txt, ...); - -extern void initialize_errlog(); +extern void initialize_errlog(int argc, char* argv[]); extern void report_errlog(); extern void errlog_set_verbose(int level); extern void ckerr(char *err, ...); extern void cklog(char *log, ...); extern void ckhelp(char *log, ...); -extern void report_err(); -extern void report_help(); + +#define X(stream) \ + extern void ck## stream(char *log, ...); \ + void ck## stream ##_with_delim(char *d, char *txt, ...); \ + void report_## stream(); +CK_STREAMS +#undef X /**********/ /* Macros */ @@ -41,9 +45,22 @@ extern void report_help(); #define ERRLOG(_COMPONENT) \ static const char COMPONENT[STR_S] = #_COMPONENT -#define ERR(...) \ - ckerr("Error in [%s]:", COMPONENT); \ - ckerr(__VA_ARGS__); \ +#define ERR(...) \ + ckerr_with_delim("\n", "Error in [%s]:", COMPONENT); \ + ckerr(__VA_ARGS__); \ + cklog_with_delim(" ", "ERROR: [%s]", COMPONENT); \ + cklog(__VA_ARGS__); \ report_err(); +/* Print help message */ +#define HELP(...) \ + ckhelp(__VA_ARGS__); \ + report_help(); + +/* Log event */ +#define LOG(...) \ + cklog_with_delim(" ", "[%s]", COMPONENT); \ + cklog(__VA_ARGS__); + +#define LOG_V(...) #endif /* CKERRLOG_H */ |