Filtering Apache logs / conditional Logging


Log-ins used by Apache Web server is usually very wordy, they contain all type of information (image files, style sheets, javascript, son RSS, etc.)

This can be very troublesome when trying to access certain web pages. The only way to get through is to make use of conditional logging (it is not the only way to control the contents of the logs)
To do this, simply define an environment variable ,according to certain criteria, then request that the server does not write the file type within log when this variable exists:

SetEnvIf Request_URI ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|gz|swf|txt)$" dontlog
SetEnvIf Request_URI "^/rss/" dontlog

CustomLog /var/log/apache/access.log combined env=!dontlog

In the example above, requests concerns the following files type .ico, .pdf, .flx, .jpg, .jpeg, .png, .gif, .js, .css, .gz, .swf, ,.txt (they will not be written in the logs), the same goes for for all requests for the /rss/ directory



First of all, the mod_setenvif module must be loaded.
The command apache2-M (or httpd-M, depending on the Apache server installed or distribution used) displays the modules loaded.

Under Debian:

root@debian:~# apache2 -M
Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 auth_basic_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 dir_module (shared)
 env_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 php5_module (shared)
 setenvif_module (shared)
 status_module (shared)
Syntax OK
Published by netty5. Latest update on December 11, 2009 at 06:40 AM by jak58.
This document, titled "Filtering Apache logs / conditional Logging," is available under the Creative Commons license. Any copy, reuse, or modification of the content should be sufficiently credited to CCM (
Apache - Monitoring web traffic in real-time