version 1.26, 2003/04/08 20:21:28 |
version 1.27, 2003/05/18 23:22:01 |
|
|
void |
void |
do_log(LogLevel level, const char *fmt, va_list args) |
do_log(LogLevel level, const char *fmt, va_list args) |
{ |
{ |
|
struct syslog_data sdata = SYSLOG_DATA_INIT; |
char msgbuf[MSGBUFSIZ]; |
char msgbuf[MSGBUFSIZ]; |
char fmtbuf[MSGBUFSIZ]; |
char fmtbuf[MSGBUFSIZ]; |
char *txt = NULL; |
char *txt = NULL; |
|
|
vsnprintf(msgbuf, sizeof(msgbuf), fmt, args); |
vsnprintf(msgbuf, sizeof(msgbuf), fmt, args); |
} |
} |
if (log_on_stderr) { |
if (log_on_stderr) { |
fprintf(stderr, "%s\r\n", msgbuf); |
snprintf(fmtbuf, sizeof fmtbuf, "%s\r\n", msgbuf); |
|
write(STDERR_FILENO, fmtbuf, strlen(fmtbuf)); |
} else { |
} else { |
openlog(argv0 ? argv0 : __progname, LOG_PID, log_facility); |
openlog_r(argv0 ? argv0 : __progname, LOG_PID, log_facility, &sdata); |
syslog(pri, "%.500s", msgbuf); |
syslog_r(pri, &sdata, "%.500s", msgbuf); |
closelog(); |
closelog_r(&sdata); |
} |
} |
} |
} |