]> ruderich.org/simon Gitweb - tlsproxy/tlsproxy.git/blobdiff - src/log.h
Implement cleaner logging approach.
[tlsproxy/tlsproxy.git] / src / log.h
index 041f45318076b1816a04e2f2352980eb6868956d..54ce597fcdd6cadad936e8377dfbfcef2e82b746 100644 (file)
--- a/src/log.h
+++ b/src/log.h
 #ifndef LOG_H
 #define LOG_H
 
+/* Log constants to be used with LOG() and LOG_PERROR() macros. */
+#define LOG_ERROR   LOG_ERROR_LEVEL,   __FILE__, __LINE__
+#define LOG_WARNING LOG_WARNING_LEVEL, __FILE__, __LINE__
+#define LOG_DEBUG   LOG_DEBUG_LEVEL,   __FILE__, __LINE__
+
 /* Log level constants. */
-#define LOG_ERROR   0
-#define LOG_WARNING 1
-#define LOG_DEBUG   2
+#define LOG_ERROR_LEVEL   0
+#define LOG_WARNING_LEVEL 1
+#define LOG_DEBUG_LEVEL   2
 
-/* Helper macro for LOG/LOG_PERROR. Print file/line number if compiled with
- * debug output. */
-#ifdef DEBUG
-#define LOG_PRINT_LOCATION fprintf(stdout, "%-12s:%-3d ", __FILE__, __LINE__);
-#else
-#define LOG_PRINT_LOCATION
-#endif
 /* Call log_message() and print current file and line number. */
 #define LOG \
-    LOG_PRINT_LOCATION \
     log_message
 /* perror() replacement with debug level support. */
 #define LOG_PERROR(level, message) \
-    LOG_PRINT_LOCATION \
     log_message(level, "%s: %s", message, strerror(errno))
 
 
-void log_message(int level, const char *format, ...);
+void log_message(int level, const char *file, int line, const char *format, ...);
 
 #endif