X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=src%2Flog.c;h=678b5686c2ffad0dd7c6d8955b6712dc8e22d647;hb=730ce301477d9d5c9367756bad840eb4504e0257;hp=05bd3dcea94eeb455112fb8747dc635a6f592401;hpb=8f25becb220b321f0e9bd4b766ae7085a0335466;p=tlsproxy%2Ftlsproxy.git diff --git a/src/log.c b/src/log.c index 05bd3dc..678b568 100644 --- a/src/log.c +++ b/src/log.c @@ -33,9 +33,10 @@ void log_message(int level, const char *file, int line, const char *format, ...) } switch (level) { - case LOG_ERROR_LEVEL: level_string = "ERROR"; break; - case LOG_WARNING_LEVEL: level_string = "WARN "; break; - case LOG_DEBUG_LEVEL: level_string = "DEBUG"; break; + case LOG_ERROR_LEVEL: level_string = "ERROR "; break; + case LOG_WARNING_LEVEL: level_string = " WARN "; break; + case LOG_DEBUG1_LEVEL: level_string = "DEBUG1"; break; + case LOG_DEBUG2_LEVEL: level_string = "DEBUG2"; break; default: level_string = "UNKNOWN"; } @@ -45,17 +46,17 @@ void log_message(int level, const char *file, int line, const char *format, ...) (void)line; #endif - fprintf(stdout, -#ifdef DEBUG - "%-12s:%-3d " -#endif - "[%s] [%d] ", + /* Prevent another thread from interrupting the printfs(). */ + flockfile(stderr); + #ifdef DEBUG - file, line, + fprintf(stderr, "%-12s:%-4d ", file, line); #endif - level_string, (int)pthread_self()); + fprintf(stderr, "[%s] [%ld] ", level_string, (long)pthread_self()); va_start(ap, format); - vfprintf(stdout, format, ap); + vfprintf(stderr, format, ap); va_end(ap); - fprintf(stdout, "\n"); + fprintf(stderr, "\n"); + + funlockfile(stderr); }