Apache LogFormat

From Noah.org
Revision as of 17:33, 28 January 2008 by Root (talk | contribs)
Jump to navigationJump to search

This is how I set my Apache LogFormat. This includes a lot of extra info, but my traffic volume is low. Even on large volume sites, I found Apache logging to add fairly low overhead and better logs are almost always worth their weight.

# %V The server name according to the UseCanonicalName setting. Useful for virtual hosting servers.
# %h Remote host
# %l Remote logname (from identd, if supplied). This will return a dash unless mod_ident is present and IdentityCheck is set On.
# %u Remote user (from auth; may be bogus if return status (%s) is 401)
# %t Time the request was received (standard english format)
# %r First line of request
# %>s status. For requests that got internally redirected, this is the status of the *original* request --- %>s  for the last.
# %b Size of response in bytes, excluding HTTP headers. In CLF format, i.e.  a '-' rather than a 0 when no bytes are sent.
# %{Referer}i The contents of Foobar: header line(s) in the request sent to the server.
# %{User-Agent}i 
# %{Foorbar}C The contents of cookie Foobar in the request sent to the server.
# %P The process ID of the child that serviced the request.
# %D The time taken to serve the request, in microseconds.
    LogFormat "%V %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %P %D" vcombinedwithPD

    SetEnvIf Request_URI "^/favicon\.ico$" dontlog
    SetEnvIf User-Agent ".*internal dummy connection.*" dontlog
    CustomLog logs/access_log vcombinedwithPD env=!dontlog