Dominic,
If you agree, could you please implement sg similar into log.c:
"
void log_printf(enum log_levels level, const char *file, int line, const char *function, const char *format, …) {
va_list args;
char buffer[512];
if (level > debug_level)
return;
va_start(args, format);
vsnprintf(buffer, 512, format, args);
if (log_output != NULL){
fprintf(log_output, “%s %s:%d %s(): %s\n”, log_strings[level], file, line, function, buffer);
fflush(log_output);
}else{
if(level==LOG_ERROR){
fprintf(stderr, “%s %s:%d %s(): %s\n”, log_strings[level], file, line, function, buffer);
fflush(stderr);
}else{
fprintf(stdout, “%s %s:%d %s(): %s\n”, log_strings[level], file, line, function, buffer);
fflush(stdout);
}
}
va_end(args);
}
"
and also rem out or delete setting log_output to stderr at init:
"
int log_init(struct command_context_s *cmd_ctx) {
/* set defaults for daemon configuration, if not set by cmdline or cfgfile */
if (debug_level == -1)
debug_level = LOG_INFO;
// if (log_output == NULL) {
// log_output = stderr;
// }
return ERROR_OK;
}
"