From f50578199cca79b73596672a4838640130d1aa8f Mon Sep 17 00:00:00 2001 From: Bhavik Patel Date: Thu, 16 Jul 2020 22:36:02 +0200 Subject: MLBEDSW-2596 Add support to set driver log severity The driver can log at one of the following levels: 0=emerg, 1=alert, 2=crit, 3=err, 4=warning, 5=notice, 6=info, 7=debug. The logs at or below the set level are printed whereas the higher level logs are not printed. Change-Id: I05a498d4c8c78112207187d9dceaa2386b138c5d --- src/ethosu_common.h | 58 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 54 insertions(+), 4 deletions(-) (limited to 'src/ethosu_common.h') diff --git a/src/ethosu_common.h b/src/ethosu_common.h index ce7a663..a5ea197 100644 --- a/src/ethosu_common.h +++ b/src/ethosu_common.h @@ -22,15 +22,65 @@ #include "ethosu55_interface.h" #include "ethosu_device.h" -#if !defined(LOG_ENABLED) -#define LOG_INFO(format, ...) -#define LOG_ERR(format, ...) +#include + +#if defined(DRIVER_LOG_SEVERITY) && (DRIVER_LOG_SEVERITY >= LOG_SEVERITY_EMERG) +#define LOG_EMERG(format, ...) \ + fprintf(stderr, format, ##__VA_ARGS__); \ + fflush(stderr); \ + exit(-1) #else -#define LOG_INFO(format, ...) fprintf(stdout, format, ##__VA_ARGS__) +#define LOG_EMERG(format, ...) +#endif + +#if defined(DRIVER_LOG_SEVERITY) && (DRIVER_LOG_SEVERITY >= LOG_SEVERITY_ALERT) +#define LOG_ALERT(format, ...) \ + fprintf(stderr, format, ##__VA_ARGS__); \ + fflush(stderr); \ + exit(-1) +#else +#define LOG_ALERT(format, ...) +#endif + +#if defined(DRIVER_LOG_SEVERITY) && (DRIVER_LOG_SEVERITY >= LOG_SEVERITY_CRIT) +#define LOG_CRIT(format, ...) \ + fprintf(stderr, format, ##__VA_ARGS__); \ + fflush(stderr); \ + exit(-1) +#else +#define LOG_CRIT(format, ...) +#endif + +#if defined(DRIVER_LOG_SEVERITY) && (DRIVER_LOG_SEVERITY >= LOG_SEVERITY_ERR) #define LOG_ERR(format, ...) \ fprintf(stderr, format, ##__VA_ARGS__); \ fflush(stderr) +#else +#define LOG_ERR(format, ...) +#endif + +#if defined(DRIVER_LOG_SEVERITY) && (DRIVER_LOG_SEVERITY >= LOG_SEVERITY_WARN) +#define LOG_WARN(format, ...) fprintf(stdout, format, ##__VA_ARGS__) +#else +#define LOG_WARN(format, ...) +#endif +#if defined(DRIVER_LOG_SEVERITY) && (DRIVER_LOG_SEVERITY >= LOG_SEVERITY_NOTICE) +#define LOG_NOTICE(format, ...) fprintf(stdout, format, ##__VA_ARGS__) +#else +#define LOG_NOTICE(format, ...) +#endif + +#if defined(DRIVER_LOG_SEVERITY) && (DRIVER_LOG_SEVERITY >= LOG_SEVERITY_INFO) +#define LOG_INFO(format, ...) fprintf(stdout, format, ##__VA_ARGS__) +#else +#define LOG_INFO(format, ...) +#endif + +#if defined(DRIVER_LOG_SEVERITY) && (DRIVER_LOG_SEVERITY >= LOG_SEVERITY_DEBUG) +#define LOG_DEBUG(format, ...) fprintf(stdout, format, ##__VA_ARGS__) +#else +#define LOG_DEBUG(format, ...) #endif #if defined(ASSERT_DISABLE) -- cgit v1.2.1