From 11b50009e99e81617ffbc812209a20f0ea72aeff Mon Sep 17 00:00:00 2001 From: Niclas Finne Date: Thu, 30 Nov 2017 15:20:52 +0100 Subject: [PATCH 1/2] Extend the logging module to support custom module prefix --- os/sys/log-conf.h | 7 +++++++ os/sys/log.h | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/os/sys/log-conf.h b/os/sys/log-conf.h index 209d3d1ad..72570fe66 100644 --- a/os/sys/log-conf.h +++ b/os/sys/log-conf.h @@ -81,6 +81,13 @@ #define LOG_OUTPUT(...) printf(__VA_ARGS__) #endif /* LOG_CONF_OUTPUT */ +/* Custom log prefix output function -- default is LOG_OUTPUT */ +#ifdef LOG_CONF_OUTPUT_PREFIX +#define LOG_OUTPUT_PREFIX(level, levelstr, module) LOG_CONF_OUTPUT_PREFIX(level, levelstr, module) +#else /* LOG_CONF_OUTPUT_PREFIX */ +#define LOG_OUTPUT_PREFIX(level, levelstr, module) LOG_OUTPUT("[%-4s: %-10s] ", levelstr, module) +#endif /* LOG_CONF_OUTPUT_PREFIX */ + /******************************************************************************/ /********************* A list of currently supported modules ******************/ /******************************************************************************/ diff --git a/os/sys/log.h b/os/sys/log.h index d638bee7d..b0624bbc7 100644 --- a/os/sys/log.h +++ b/os/sys/log.h @@ -101,7 +101,7 @@ extern struct log_module all_modules[]; if(level <= (LOG_LEVEL)) { \ if(newline) { \ if(LOG_WITH_MODULE_PREFIX) { \ - LOG_OUTPUT("[%-4s: %-10s] ", levelstr, LOG_MODULE); \ + LOG_OUTPUT_PREFIX(level, levelstr, LOG_MODULE); \ } \ if(LOG_WITH_LOC) { \ LOG_OUTPUT("[%s: %d] ", __FILE__, __LINE__); \ From 91e3fa37d778a592c942e680db63df31b576746e Mon Sep 17 00:00:00 2001 From: Niclas Finne Date: Thu, 30 Nov 2017 22:40:07 +0100 Subject: [PATCH 2/2] Added comment to the custom module prefix function in the logging module. --- os/sys/log-conf.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/os/sys/log-conf.h b/os/sys/log-conf.h index 72570fe66..d52765c31 100644 --- a/os/sys/log-conf.h +++ b/os/sys/log-conf.h @@ -81,7 +81,16 @@ #define LOG_OUTPUT(...) printf(__VA_ARGS__) #endif /* LOG_CONF_OUTPUT */ -/* Custom log prefix output function -- default is LOG_OUTPUT */ +/* + * Custom output function to prefix logs with level and module. + * + * This will only be called when LOG_CONF_WITH_MODULE_PREFIX is enabled and + * all implementations should be based on LOG_OUTPUT. + * + * \param level The log level + * \param levelstr The log level as string + * \param module The module string descriptor + */ #ifdef LOG_CONF_OUTPUT_PREFIX #define LOG_OUTPUT_PREFIX(level, levelstr, module) LOG_CONF_OUTPUT_PREFIX(level, levelstr, module) #else /* LOG_CONF_OUTPUT_PREFIX */