From 0f2ebdb0b66178fa90492d1c46412eddeed9ae6d Mon Sep 17 00:00:00 2001 From: Maximilien Siavelis <m@siav.pw> Date: 周日, 16 6月 2019 19:45:41 +0800 Subject: [PATCH] Merge pull request #23 from tizzybec/master --- src/library/base/logger.h | 27 ++++++++++++++++++++------- 1 files changed, 20 insertions(+), 7 deletions(-) diff --git a/src/library/base/logger.h b/src/library/base/logger.h index 5f10ba6..c9dae04 100644 --- a/src/library/base/logger.h +++ b/src/library/base/logger.h @@ -1,13 +1,22 @@ #ifndef logger_INCLUDED #define logger_INCLUDED -#ifndef LOG_ENABLED -#ifdef NDEBUG -#define LOG_DEBUG(M, ...) _log("[INFO] %s (%s:%d) " M "\n", __FILE__, __LINE__, ##__VA_ARGS__) +#ifndef LOG_DISABLED +#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