#include "mkdirpp.h"
#include "util.h"
+/* This is used by DEBUG_LOG macro */
+int log_debug_enabled = 0;
+
/* ================================================== */
/* Flag indicating we have initialised */
static int initialised = 0;
time_t t;
struct tm stm;
- /* Don't write debug messages if debug level is too low */
- if (debug_level < DEBUG_LEVEL_PRINT_DEBUG && severity == LOGS_DEBUG)
- return;
-
#ifdef WINNT
#else
if (!system_log) {
void LOG_SetDebugLevel(int level)
{
debug_level = level;
- if (!DEBUG && level >= DEBUG_LEVEL_PRINT_DEBUG)
- LOG(LOGS_WARN, LOGF_Logging, "Not compiled with full debugging support");
+ if (level >= DEBUG_LEVEL_PRINT_DEBUG) {
+ if (!DEBUG)
+ LOG(LOGS_WARN, LOGF_Logging, "Not compiled with full debugging support");
+ log_debug_enabled = 1;
+ }
}
/* ================================================== */
#ifndef GOT_LOGGING_H
#define GOT_LOGGING_H
+/* Flag indicating whether debug messages are logged */
+extern int log_debug_enabled;
+
/* Line logging macros. If the compiler is GNU C, we take advantage of
being able to get the function name also. */
#define DEBUG_LOG(facility, ...) \
do { \
- if (DEBUG) \
+ if (DEBUG && log_debug_enabled) \
LOG_Message(LOGS_DEBUG, facility, __LINE__, __FILE__, FUNCTION_NAME, __VA_ARGS__); \
} while (0)
#define LOG(severity, facility, ...) LOG_Message(severity, facility, __LINE__, __FILE__, FUNCTION_NAME, __VA_ARGS__)