From 340c72f9e25fc861f58522907a0dff0a0f5dfaee Mon Sep 17 00:00:00 2001 From: Laurence Withers Date: Sat, 26 Jul 2008 17:45:52 +0000 Subject: [PATCH] Add a nice timestamp to the output of log file messages --- src/daemonitor/200_log.c | 12 +++++++++--- src/daemonitor/999_main.c | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/daemonitor/200_log.c b/src/daemonitor/200_log.c index c82dc11..cfcf5a0 100644 --- a/src/daemonitor/200_log.c +++ b/src/daemonitor/200_log.c @@ -113,6 +113,8 @@ void log_func_file(int level, const char* fmt, ...) va_list va; int ret; const char* level_str; + char timebuf[40]; + time_t t; /* choose appropriate line description */ switch(level) { @@ -127,11 +129,15 @@ void log_func_file(int level, const char* fmt, ...) default: level_str = "?BUG?"; break; } + /* construct timestamp */ + time(&t); + strftime(timebuf, sizeof(timebuf), "%FT%H:%M:%S", gmtime(&t)); + /* print to file descriptor */ va_start(va, fmt); - if(safe_write_fixed(STDERR_FILENO, level_str, 5) != 5) ret = -1; - ret = vdprintf(log_func_fd, fmt, va); - if(safe_write_fixed(STDERR_FILENO, "\n", 1) != 1) ret = -1; + ret = dprintf(log_func_fd, "%s %s ", timebuf, level_str); + if(ret != -1) ret = vdprintf(log_func_fd, fmt, va); + if(ret != -1 && safe_write_fixed(log_func_fd, "\n", 1) != 1) ret = -1; va_end(va); /* report errors */ diff --git a/src/daemonitor/999_main.c b/src/daemonitor/999_main.c index 320ff7a..ad4ca26 100644 --- a/src/daemonitor/999_main.c +++ b/src/daemonitor/999_main.c @@ -117,6 +117,7 @@ int main(int argc, char* argv[]) LOG_ANYWHERE("Error logging to file `%s' (%m).", log_argument); return 1; } + log_destination_set(log_destination_file); } /* daemonise? */