From 62258ba3b4737432a95c3af8d0e03ed3fb7953e7 Mon Sep 17 00:00:00 2001
From: open-license-manager <rillf@maildrop.cc>
Date: 周一, 13 10月 2014 05:05:37 +0800
Subject: [PATCH] windows ok

---
 src/library/base/logger.h |   23 ++++++++++++++++++-----
 1 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/src/library/base/logger.h b/src/library/base/logger.h
index 5f10ba6..cf08405 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,...)
@@ -18,4 +27,8 @@
 
 void _log(char* format, ...);
 void _shutdown_log();
+
+#ifdef __cplusplus
+}
+#endif
 #endif

--
Gitblit v1.9.1