From 3c13509c06b5ff969e51f7cb552e525fc627c1ed Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 9 Jan 2006 18:25:06 +0000 Subject: r12798: print timestamps into the log file, this is not nice code, but it works for now metze (This used to be commit ec7dbb5a98c112e86399ffcff14eb42c99d8e31d) --- source4/lib/debug.c | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) (limited to 'source4/lib') diff --git a/source4/lib/debug.c b/source4/lib/debug.c index a775c46854..d0288f7ddc 100644 --- a/source4/lib/debug.c +++ b/source4/lib/debug.c @@ -21,6 +21,7 @@ #include "includes.h" #include "system/filesys.h" +#include "system/time.h" #include "dynconfig.h" /* this global variable determines what messages are printed */ @@ -40,6 +41,16 @@ static struct { const char *prog_name; } state; +/* + the backend for debug messages. Note that the DEBUG() macro has already + ensured that the log level has been met before this is called +*/ +void do_debug_header(int level) +{ + log_timestring(level); + log_task_id(); +} + /* the backend for debug messages. Note that the DEBUG() macro has already ensured that the log level has been met before this is called @@ -59,8 +70,6 @@ void do_debug(const char *format, ...) vasprintf(&s, format, ap); va_end(ap); - log_task_id(); - write(state.fd, s, strlen(s)); free(s); } @@ -153,6 +162,24 @@ void print_suspicious_usage(const char* from, const char* info) } } +void log_timestring(int level) +{ + char *t = NULL; + char *s = NULL; + + if (state.logtype != DEBUG_FILE) return; + + t = timestring(NULL, time(NULL)); + if (!t) return; + + asprintf(&s, "[%s, %d]\n", t, level); + talloc_free(t); + if (!s) return; + + write(state.fd, s, strlen(s)); + free(s); +} + uint32_t get_task_id(void) { if (debug_handlers.ops.get_task_id) { @@ -167,6 +194,7 @@ void log_task_id(void) debug_handlers.ops.log_task_id(state.fd); } } + /* register a set of debug handlers. */ -- cgit