From 59521087f7c80c40525b17431f2988a815a842a0 Mon Sep 17 00:00:00 2001 From: Maximilien Siavelis <m@siav.pw> Date: 周一, 06 5月 2019 00:51:57 +0800 Subject: [PATCH] Merge pull request #20 from willamowius/master --- src/library/base/logger.h | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/library/base/logger.h b/src/library/base/logger.h index 5f10ba6..0803685 100644 --- a/src/library/base/logger.h +++ b/src/library/base/logger.h @@ -2,12 +2,21 @@ #define logger_INCLUDED #ifndef LOG_ENABLED -#ifdef NDEBUG -#define LOG_DEBUG(M, ...) _log("[INFO] %s (%s:%d) " M "\n", __FILE__, __LINE__, ##__VA_ARGS__) +#include <errno.h> +#ifdef __cplusplus +extern "C" { #endif -#define LOG_INFO(M, ...) _log("[INFO] %s (%s:%d) " M "\n", __FILE__, __LINE__, ##__VA_ARGS__) -#define LOG_WARN(M, ...) _log("[WARN] %s (%s:%d: errno: %s) " M "\n", __FILE__, __LINE__, clean_errno(), ##__VA_ARGS__) -#define LOG_ERROR(M, ...) _log("[ERROR] %s (%s:%d: errno: %s) " M "\n", __FILE__, __LINE__, clean_errno(), ##__VA_ARGS__) + +#define clean_errno() (errno == 0 ? "None" : strerror(errno)) + +#ifdef _DEBUG +#define LOG_DEBUG(M, ...) _log("[DEBUG] (%s:%d) " M "\n", __FILE__, __LINE__, ##__VA_ARGS__) +#else +#define LOG_DEBUG(M,...) +#endif +#define LOG_INFO(M, ...) _log("[INFO] (%s:%d) " M "\n", __FILE__, __LINE__, ##__VA_ARGS__) +#define LOG_WARN(M, ...) _log("[WARN] (%s:%d: errno: %s) " M "\n", __FILE__, __LINE__, clean_errno(), ##__VA_ARGS__) +#define LOG_ERROR(M, ...) _log("[ERROR] (%s:%d: errno: %s) " M "\n", __FILE__, __LINE__, clean_errno(), ##__VA_ARGS__) #else #define LOG_DEBUG(M,...) @@ -16,6 +25,10 @@ #define LOG_ERROR(M, ...) #endif -void _log(char* format, ...); +void _log(const char* format, ...); void _shutdown_log(); + +#ifdef __cplusplus +} +#endif #endif -- Gitblit v1.9.1