Index: log.c =================================================================== RCS file: /cvs/src/usr.sbin/httpd/log.c,v retrieving revision 1.10 diff -u -p -r1.10 log.c --- log.c 7 Dec 2015 12:13:51 -0000 1.10 +++ log.c 16 Dec 2015 00:57:59 -0000 @@ -24,6 +24,8 @@ #include #include +#include + int debug; int verbose; const char *log_procname; @@ -31,6 +33,7 @@ const char *log_procname; void log_init(int, int); void log_procinit(const char *); void log_verbose(int); +void log_event(int, const char *); void log_warn(const char *, ...) __attribute__((__format__ (printf, 1, 2))); void log_warnx(const char *, ...) @@ -56,6 +59,7 @@ log_init(int n_debug, int facility) debug = n_debug; verbose = n_debug; log_procinit(__progname); + event_set_log_callback(log_event); if (!debug) openlog(__progname, LOG_PID | LOG_NDELAY, facility); @@ -160,6 +164,36 @@ log_debug(const char *emsg, ...) vlog(LOG_DEBUG, emsg, ap); va_end(ap); } +} + +void +log_event(int severity, const char *msg) +{ + int level; + + switch (severity) { + case _EVENT_LOG_DEBUG: + if (!verbose) + return; + + level = LOG_DEBUG; + break; + case _EVENT_LOG_MSG: + level = LOG_INFO; + break; + case _EVENT_LOG_WARN: + level = LOG_WARNING; + break; + case _EVENT_LOG_ERR: + level = LOG_CRIT; + break; + default: + fatal("unknown severity %d in %s for %s", severity, __func__, + msg); + return; + } + + logit(level, "event: %s", msg); } static void