From: Graham Leggett Date: Mon, 1 Feb 2010 21:38:15 +0000 (+0000) Subject: mod_log_config: Add the R option to log the handler used within the X-Git-Tag: 2.3.6~533 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5314f77c08038c37d8226b0d351a2cc80cc8719f;p=thirdparty%2Fapache%2Fhttpd.git mod_log_config: Add the R option to log the handler used within the request. Submitted by: Christian Folini git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@905420 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 7c29c5e81f8..7be8e53ba26 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,9 @@ Changes with Apache 2.3.6 + *) mod_log_config: Add the R option to log the handler used within the + request. [Christian Folini ] + *) Allow fine control over the removal of Last-Modified and ETag headers within the INCLUDES filter, making it possible to cache responses if desired. Fix the default value of the SSIAccessEnable directive. diff --git a/docs/manual/mod/mod_log_config.xml b/docs/manual/mod/mod_log_config.xml index 93071c48a6c..ffbea81f2e0 100644 --- a/docs/manual/mod/mod_log_config.xml +++ b/docs/manual/mod/mod_log_config.xml @@ -159,6 +159,9 @@ %r First line of request + %R + The handler generating the response (if any). + %s Status. For requests that got internally redirected, this is the status of the *original* request --- %>s @@ -267,6 +270,11 @@ format provided by mod_logio will log the actual number of bytes sent over the network.

+

Note: mod_cache is implemented as a + quick-handler and not as a standard handler. Therefore, the + %R format string will not return any handler + information when content caching is involved.

+
Examples diff --git a/modules/loggers/mod_log_config.c b/modules/loggers/mod_log_config.c index 51516650e8e..f145d561760 100644 --- a/modules/loggers/mod_log_config.c +++ b/modules/loggers/mod_log_config.c @@ -376,6 +376,11 @@ static const char *log_status(request_rec *r, char *a) return pfmt(r->pool, r->status); } +static const char *log_handler(request_rec *r, char *a) +{ + return ap_escape_logitem(r->pool, r->handler); +} + static const char *clf_log_bytes_sent(request_rec *r, char *a) { if (!r->sent_bodyct || !r->bytes_sent) { @@ -1530,6 +1535,7 @@ static int log_pre_config(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp) log_pfn_register(p, "T", log_request_duration, 1); log_pfn_register(p, "U", log_request_uri, 1); log_pfn_register(p, "s", log_status, 1); + log_pfn_register(p, "R", log_handler, 1); } return OK;