IndexModulesLoggers

Logger: Custom

This module implements a flexible mechanism for logging requests made to the server, using a user-specified format.

The format in which the request will be logged is defined by a string. This string is used to log each request to the log. It can contain both literal characters and a set of variables. All the literal characters will be copied to the log. The following variables will be evaluated right before writing each log entry:

Variable Example Description

${ip_remote}

74.125.67.100

Remote IP-address

${ip_local}

10.0.0.1

Local IP-address

${request}

/file.txt

URL path requested

${request_original}

/file.txt

URL path requested before any rewrite

${protocol}

http

Request Protocol

${port_server}

80

Port of the server serving the request

${query_string}

?bar=foo

"The query string, if exists"

${request_first_line}

GET / HTTP/1.0

First line of request

${status}

200

Status of the request

${now}

08/Apr/2009:12:02:11 +0200

Time: in common log format time format

${time_secs}

1239185281

Time: seconds since Epoch

${time_msecs}

18446744071655350332

Time: milliseconds since Epoch

${user_remote}

guest

Remote user (authentication)

${vserver_name}

default

Virtual Server nick name

Example

For instance, the following format string:

[${now}] ${ip_remote}: ${request} (${status})

would generate this entry in the log:

[08/Apr/2009:12:02:11 +0200] 74.125.67.100: /file.txt (200)