logging: allow reopening stderr

LOG_OpenFileLog(NULL) can be now used to reopen stderr.
This commit is contained in:
Miroslav Lichvar 2018-08-28 14:10:21 +02:00
parent 6847536669
commit eb8c9ad601
2 changed files with 8 additions and 4 deletions

View file

@ -184,9 +184,13 @@ LOG_OpenFileLog(const char *log_file)
{ {
FILE *f; FILE *f;
f = fopen(log_file, "a"); if (log_file) {
if (!f) f = fopen(log_file, "a");
LOG_FATAL("Could not open log file %s", log_file); if (!f)
LOG_FATAL("Could not open log file %s", log_file);
} else {
f = stderr;
}
/* Enable line buffering */ /* Enable line buffering */
setvbuf(f, NULL, _IOLBF, BUFSIZ); setvbuf(f, NULL, _IOLBF, BUFSIZ);

View file

@ -99,7 +99,7 @@ extern void LOG_Message(LOG_Severity severity, const char *format, ...);
*/ */
extern void LOG_SetDebugLevel(int level); extern void LOG_SetDebugLevel(int level);
/* Log messages to a file instead of stderr */ /* Log messages to a file instead of stderr, or stderr again if NULL */
extern void LOG_OpenFileLog(const char *log_file); extern void LOG_OpenFileLog(const char *log_file);
/* Log messages to syslog instead of stderr */ /* Log messages to syslog instead of stderr */