From 4b6cc7034b737ddab181de8af5d6527df5fbdfa4 Mon Sep 17 00:00:00 2001 From: Avril Date: Mon, 12 Jul 2021 18:01:51 +0100 Subject: [PATCH] Added descriptions for logging levels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fortune for naka's current commit: Half blessing − 半吉 --- include/trace.h | 2 ++ src/main.c | 5 ++++- src/trace.c | 8 ++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/include/trace.h b/include/trace.h index d511c9a..676f30c 100644 --- a/include/trace.h +++ b/include/trace.h @@ -31,5 +31,7 @@ int trace_init(); const char* trace_name_of(enum trace_level lv); extern const char* const _TRACE_CONTROL_ENV_NAME; +extern const char* const _trace_level_descriptions[_TRACE_LEVEL_NUM]; + #endif /* _TRACE_H */ diff --git a/src/main.c b/src/main.c index 151dee7..0e1682a 100644 --- a/src/main.c +++ b/src/main.c @@ -23,7 +23,10 @@ static void pi_print_trace_infos(FILE* out) enum trace_level lv = (enum trace_level)i; name = trace_name_of(lv); if(name) { - fprintf(out, "-> level %d: \"%s\"\n", i, name); + debug_assert(AS(lv, int) < AS(_TRACE_LEVEL_NUM, int) && AS(lv, int) >= 0); + const char* desc = lv[_trace_level_descriptions]; + assert(desc); + fprintf(out, "-> level %d: \"%s\" - %s\n", i, name, desc); } } enum trace_level def = _TRACE_LEVEL_DEFAULT; diff --git a/src/trace.c b/src/trace.c index 1ccf60d..03d2d7a 100644 --- a/src/trace.c +++ b/src/trace.c @@ -27,6 +27,14 @@ const struct {const char* const name; const enum trace_level level; } _trace_lev }; #define _trace_level_names_n (sizeof(_trace_level_names) / sizeof(_trace_level_names[0])) +const char* const _trace_level_descriptions[_TRACE_LEVEL_NUM] = { + "All trace messages regarding internals, only useful for debugging", + "Information messages regarding processes, recommended level", + "Only show warnings", + "Only show errors", + "Only show fatal (aborting) errors", +}; + static bool _trace_lookup(const char*pIN name, enum trace_level *pOUT olevel) {