Multiple Access Logs
Multiple access logs can be created simply by specifying       multiple CustomLog        directives in the configuration       file. For example, the following directives will create three       access logs. The first contains the basic CLF information,       while the second and third contain referer and browser       information. The last two CustomLog lines show how       to mimic the effects of the ReferLog and AgentLog directives.
         LogFormat "%h %l %u %t \"%r\" %>s %b" common
         CustomLog logs/access_log common
         CustomLog logs/referer_log "%{Referer}i -> %U"
         CustomLog logs/agent_log "%{User-agent}i"       
This example also shows that it is not necessary to define a       nickname with the LogFormat directive. Instead,       the log format can be specified directly in the CustomLog directive.
Conditional Logs
There are times when it is convenient to exclude certain       entries from the access logs based on characteristics of the       client request. This is easily accomplished with the help of environment variables. First, an       environment variable must be set to indicate that the request       meets certain conditions. This is usually accomplished with        SetEnvIf. Then the       env= clause of the CustomLog directive is used to    include or exclude requests where the environment variable is    set. Some examples:
         # Mark requests from the loop-back interface
         SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog
         # Mark requests for the robots.txt file
         SetEnvIf Request_URI "^/robots\.txt$" dontlog
         # Log what remains
         CustomLog logs/access_log common env=!dontlog       
As another example, consider logging requests from english-speakers to one log file, and non-english speakers to a different log file.
         SetEnvIf Accept-Language "en" english
         CustomLog logs/english_log common env=english
         CustomLog logs/non_english_log common env=!english       
Although we have just shown that conditional logging is very powerful and flexible, it is not the only way to control the contents of the logs. Log files are more useful when they contain a complete record of server activity. It is often easier to simply post-process the log files to remove requests that you do not want to consider.
No comments:
Post a Comment