|
|
|
@ -197,7 +197,70 @@ int open_logfile_or_pipe(server *srv, const char* logfile) {
|
|
|
|
|
int log_error_open(server *srv) {
|
|
|
|
|
#ifdef HAVE_SYSLOG_H
|
|
|
|
|
/* perhaps someone wants to use syslog() */
|
|
|
|
|
openlog("lighttpd", LOG_CONS | LOG_PID, LOG_DAEMON);
|
|
|
|
|
int facility = 0;
|
|
|
|
|
if (!buffer_string_is_empty(srv->srvconf.syslog_facility)) {
|
|
|
|
|
static const struct facility_name_st {
|
|
|
|
|
const char *name;
|
|
|
|
|
int val;
|
|
|
|
|
} facility_names[] = {
|
|
|
|
|
{ "auth", LOG_AUTH }
|
|
|
|
|
#ifdef LOG_AUTHPRIV
|
|
|
|
|
,{ "authpriv", LOG_AUTHPRIV }
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef LOG_CRON
|
|
|
|
|
,{ "cron", LOG_CRON }
|
|
|
|
|
#endif
|
|
|
|
|
,{ "daemon", LOG_DAEMON }
|
|
|
|
|
#ifdef LOG_FTP
|
|
|
|
|
,{ "ftp", LOG_FTP }
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef LOG_KERN
|
|
|
|
|
,{ "kern", LOG_KERN }
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef LOG_LPR
|
|
|
|
|
,{ "lpr", LOG_LPR }
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef LOG_MAIL
|
|
|
|
|
,{ "mail", LOG_MAIL }
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef LOG_NEWS
|
|
|
|
|
,{ "news", LOG_NEWS }
|
|
|
|
|
#endif
|
|
|
|
|
,{ "security", LOG_AUTH } /* DEPRECATED */
|
|
|
|
|
#ifdef LOG_SYSLOG
|
|
|
|
|
,{ "syslog", LOG_SYSLOG }
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef LOG_USER
|
|
|
|
|
,{ "user", LOG_USER }
|
|
|
|
|
#endif
|
|
|
|
|
#ifdef LOG_UUCP
|
|
|
|
|
,{ "uucp", LOG_UUCP }
|
|
|
|
|
#endif
|
|
|
|
|
,{ "local0", LOG_LOCAL0 }
|
|
|
|
|
,{ "local1", LOG_LOCAL1 }
|
|
|
|
|
,{ "local2", LOG_LOCAL2 }
|
|
|
|
|
,{ "local3", LOG_LOCAL3 }
|
|
|
|
|
,{ "local4", LOG_LOCAL4 }
|
|
|
|
|
,{ "local5", LOG_LOCAL5 }
|
|
|
|
|
,{ "local6", LOG_LOCAL6 }
|
|
|
|
|
,{ "local7", LOG_LOCAL7 }
|
|
|
|
|
};
|
|
|
|
|
unsigned int i;
|
|
|
|
|
for (i = 0; i < sizeof(facility_names)/sizeof(facility_names[0]); ++i) {
|
|
|
|
|
const struct facility_name_st *f = facility_names+i;
|
|
|
|
|
if (0 == strcmp(srv->srvconf.syslog_facility->ptr, f->name)) {
|
|
|
|
|
facility = f->val;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (0 == facility) {
|
|
|
|
|
log_error_write(srv, __FILE__, __LINE__, "SBS",
|
|
|
|
|
"unrecognized server.syslog-facility: \"",
|
|
|
|
|
srv->srvconf.syslog_facility,
|
|
|
|
|
"\"; defaulting to \"daemon\" facility");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
openlog("lighttpd", LOG_CONS | LOG_PID, facility ? facility : LOG_DAEMON);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
srv->errorlog_mode = ERRORLOG_FD;
|
|
|
|
|