AP_DECLARE(void) ap_log_rerror(const char *file, int line, int level, apr_status_t status, const request_rec *r, const char *fmt, ...) { va_list args; va_start(args, fmt); log_error_core(file, line, level, status, r->server, NULL, r, NULL, fmt, args); /* * IF APLOG_TOCLIENT is set, * AND the error level is 'warning' or more severe, * AND there isn't already error text associated with this request, * THEN make the message text available to ErrorDocument and * other error processors. */ va_end(args); va_start(args,fmt); if ((level & APLOG_TOCLIENT) && ((level & APLOG_LEVELMASK) <= APLOG_WARNING) && (apr_table_get(r->notes, "error-notes") == NULL)) { apr_table_setn(r->notes, "error-notes", ap_escape_html(r->pool, apr_pvsprintf(r->pool, fmt, args))); } va_end(args); }
AP_DECLARE(void) ap_log_error(const char *file, int line, int level, apr_status_t status, const server_rec *s, const char *fmt, ...) { va_list args; va_start(args, fmt); log_error_core(file, line, level, status, s, NULL, NULL, NULL, fmt, args); va_end(args); }
AP_DECLARE(void) ap_log_perror(const char *file, int line, int level, apr_status_t status, apr_pool_t *p, const char *fmt, ...) { va_list args; va_start(args, fmt); log_error_core(file, line, level, status, NULL, NULL, NULL, p, fmt, args); va_end(args); }
void _log(log_t *log,const char *file, int line, const char *fmt, ...) { va_list args; va_start(args, fmt); log_error_core(log->logfile,file, line,fmt, args); va_end(args); }