mod_log_config.html revision fb3498dca64737ff883d58c903c11de4cee460da
7e83c0e03fbf397167822e170d97c3a210658768William Giokas<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
7e83c0e03fbf397167822e170d97c3a210658768William Giokas<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
7e83c0e03fbf397167822e170d97c3a210658768William Giokas BGCOLOR="#FFFFFF"
9e15a18acd19bf80faef774ee92877024ef599a5William Giokas TEXT="#000000"
7e83c0e03fbf397167822e170d97c3a210658768William Giokas LINK="#0000FF"
7e83c0e03fbf397167822e170d97c3a210658768William Giokas VLINK="#000080"
7e83c0e03fbf397167822e170d97c3a210658768William Giokas ALINK="#FF0000"
7e83c0e03fbf397167822e170d97c3a210658768William Giokas<!--#include virtual="header.html" -->
ca08063781666a530993f7c88db1256044689c24William GiokasThis module is contained in the <code>mod_log_config.c</code> file,
ca08063781666a530993f7c88db1256044689c24William Giokasand is compiled in by default in Apache 1.2. mod_log_config replaces
ca08063781666a530993f7c88db1256044689c24William Giokasmod_log_common in Apache 1.2. Prior to version 1.2, mod_log_config was
7e83c0e03fbf397167822e170d97c3a210658768William Giokasan optional module. It provides for logging of the requests made to
7e83c0e03fbf397167822e170d97c3a210658768William Giokasthe server, using the Common Log Format or a user-specified format.
4af6e458e5a683b89032d560eb353c2272d3d564William GiokasThree directives are provided by this module: <code>TransferLog</code>
ca08063781666a530993f7c88db1256044689c24William Giokasto create a log file, <code>LogFormat</code> to set a custom format,
7e83c0e03fbf397167822e170d97c3a210658768William Giokasand <code>CustomLog</code> to define a log file and format in one go.
7e83c0e03fbf397167822e170d97c3a210658768William GiokasThe <code>TransferLog</code> and <code>CustomLog</code> directives can
7e83c0e03fbf397167822e170d97c3a210658768William Giokasbe used multiple times in each server to cause each request to be
7e83c0e03fbf397167822e170d97c3a210658768William Giokaslogged to multiple files.
7e83c0e03fbf397167822e170d97c3a210658768William Giokas<li>This module is based on mod_log_config distributed with
7e83c0e03fbf397167822e170d97c3a210658768William Giokasprevious Apache releases, now updated to handle multiple logs.
7e83c0e03fbf397167822e170d97c3a210658768William GiokasThere is now no need to re-configure Apache to use configuration log
4a8fa990693edc47ac2192bf088a6e22e2390b41William Giokas<li>The module also implements the <code>CookieLog</code> directive,
4a8fa990693edc47ac2192bf088a6e22e2390b41William Giokasused to log user-tracking information created by <a
4a8fa990693edc47ac2192bf088a6e22e2390b41William Giokashref="mod_usertrack.html">mod_usertrack</a>. The use of
4a8fa990693edc47ac2192bf088a6e22e2390b41William Giokas<code>CookieLog</code> is deprecated, and a <code>CustomLog</code>
4a8fa990693edc47ac2192bf088a6e22e2390b41William Giokasshould be defined to log user-tracking information instead.
7e83c0e03fbf397167822e170d97c3a210658768William GiokasUnless told otherwise with <tt>LogFormat</tt> the log files created by
7e83c0e03fbf397167822e170d97c3a210658768William Giokas<tt>TransferLog</tt> will be in standard "Common Log Format"
7e83c0e03fbf397167822e170d97c3a210658768William Giokas(CLF). The contents of each line in a CLF file are explained
7e83c0e03fbf397167822e170d97c3a210658768William Giokasbelow. Alternatively, the log file can be customized (and if multiple
7e83c0e03fbf397167822e170d97c3a210658768William Giokaslog files are used, each can have a different format). Custom formats
7e83c0e03fbf397167822e170d97c3a210658768William Giokasare set with <code>LogFormat</code> and <code>CustomLog</code>.
7e83c0e03fbf397167822e170d97c3a210658768William GiokasThe Common Log Format (CLF) file contains a separate line for each
a02c5fe7cbad3ca0536286ceab0bde5fb1c0ba13William Giokasrequest. A line is composed of several tokens separated by spaces:
7e83c0e03fbf397167822e170d97c3a210658768William Giokashost ident authuser date request status bytes
f11880744c27209a42f502c690db86b38d2db14bZbigniew Jędrzejewski-SzmekIf a token does not have a value then it is represented by a hyphen (-).
7e83c0e03fbf397167822e170d97c3a210658768William GiokasThe meanings and values of these tokens are as follows:
862f4963c6f7778cea9e715eeb11ea959eba6db3William Giokas<dd>The fully-qualified domain name of the client, or its IP number if the
862f4963c6f7778cea9e715eeb11ea959eba6db3William Giokasname is not available.
7e83c0e03fbf397167822e170d97c3a210658768William Giokas<dd>If <A HREF="core.html#identitycheck">IdentityCheck</A> is enabled and the
7e83c0e03fbf397167822e170d97c3a210658768William Giokasclient machine runs identd, then this is the identity information reported
7e83c0e03fbf397167822e170d97c3a210658768William Giokasby the client.
7e83c0e03fbf397167822e170d97c3a210658768William Giokas<dd>If the request was for an password protected document, then this is
862f4963c6f7778cea9e715eeb11ea959eba6db3William Giokasthe userid used in the request.
7e83c0e03fbf397167822e170d97c3a210658768William Giokas<dd>The date and time of the request, in the following format:
7e83c0e03fbf397167822e170d97c3a210658768William Giokas<dl><dd><blockquote><code> date = [day/month/year:hour:minute:second zone] <br>
7e83c0e03fbf397167822e170d97c3a210658768William Giokasday = 2*digit<br>
7e83c0e03fbf397167822e170d97c3a210658768William Giokasmonth = 3*letter<br>
7e83c0e03fbf397167822e170d97c3a210658768William Giokasyear = 4*digit<br>
7e83c0e03fbf397167822e170d97c3a210658768William Giokashour = 2*digit<br>
7e83c0e03fbf397167822e170d97c3a210658768William Giokasminute = 2*digit<br>
7e83c0e03fbf397167822e170d97c3a210658768William Giokassecond = 2*digit<br>
7e83c0e03fbf397167822e170d97c3a210658768William Giokaszone = (`+' | `-') 4*digit</code></blockquote></dl>
7e83c0e03fbf397167822e170d97c3a210658768William Giokas<dd>The request line from the client, enclosed in double quotes
%...b: Bytes sent, excluding HTTP headers.
%...f: Filename
%...h: Remote host
%...l: Remote logname (from identd, if supplied)
%...p: The port the request was served to
%...P: The process ID of the child that serviced the request.
%...r: First line of request
%...s: Status. For requests that got internally redirected, this
%...t: Time, in common log format time format
%...T: The time taken to serve the request, in seconds.
%...u: Remote user (from auth; may be bogus if return status (%s) is 401)
%...U: The URL path requested.
there is no escaping performed on the strings from %r, %...i and
%...o; some with long memories may remember that I thought this was
of `%..i', unless we URL-escape everything and break with CLF.
extending for format if desired (e.g. to add extra fields at the end).
NCSA's extended/combined log format would be <code>"%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""</code>.
<!--#include virtual="footer.html" -->