X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Flogger.c;h=6fb972d136149674779661ba4b28fbacf2d328ac;hb=1be7dc759a64d436fd7586aad43b545f2dc665b5;hp=4527a3761c1b7cb7efd629edabc1dbfe3b15ffef;hpb=70a1a5594af5d4e6a364186b42ba4e34c676009b;p=tinc diff --git a/src/logger.c b/src/logger.c index 4527a376..6fb972d1 100644 --- a/src/logger.c +++ b/src/logger.c @@ -22,6 +22,7 @@ #include "conf.h" #include "meta.h" +#include "names.h" #include "logger.h" #include "connection.h" #include "control_common.h" @@ -30,7 +31,6 @@ debug_t debug_level = DEBUG_NOTHING; static logmode_t logmode = LOGMODE_STDERR; static pid_t logpid; -extern char *logfilename; static FILE *logfile = NULL; #ifdef HAVE_MINGW static HANDLE loghandle = NULL; @@ -41,7 +41,6 @@ bool logcontrol = false; static void real_logger(int level, int priority, const char *message) { char timestr[32] = ""; - time_t now; static bool suppress = false; // Bail out early if there is nothing to do. @@ -58,8 +57,10 @@ static void real_logger(int level, int priority, const char *message) { fflush(stderr); break; case LOGMODE_FILE: - now = time(NULL); - strftime(timestr, sizeof timestr, "%Y-%m-%d %H:%M:%S", localtime(&now)); + if(!now.tv_sec) + gettimeofday(&now, NULL); + time_t now_sec = now.tv_sec; + strftime(timestr, sizeof timestr, "%Y-%m-%d %H:%M:%S", localtime(&now_sec)); fprintf(logfile, "%s %s[%ld]: %s\n", timestr, logident, (long)logpid, message); fflush(logfile); break;