Filtrar os logs Apache / Logging condicional

Fevereiro 2017

Os logs do servidor web Apache são geralmente muito detalhados, ou seja, conteem todos os hits (arquivos de imagem, folhas de estilo, javascript, feeds de RSS, etc.).

Se você só quiser logar as páginas web é possível implementar um log condicional, para não registrar certas páginas web. Para isso, basta definir uma variável de ambiente de acordo com determinados critérios, em seguida, pedir ao servidor para não escrever nos logs quando esta variável existir:
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


No exemplo acima, as consultas correspondentes aos arquivos .ico, .pdf, .flx, .jpg, .jpeg, .png, .gif, .js, .css, .gz, .swf, .txt não estão escritos nos logs. O mesmo vale para todas as consultas correspondentes ao diretório /rss/

Observação:


Para fazer isso, o móulo mod_setenvif deve ser carregado.
O comando apache2-M (ou httpd-M, para verificar, em função do seu servidor apache instalado ou distribuição) mostra os módulos carregados.

Veja no Debian Etch
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 



Tradução feita por Lucia Maurity y Nouira

Veja também

Artigo original publicado por . Tradução feita por pintuda. Última modificação: 27 de abril de 2012 às 16:45 por pintuda.
Este documento, intitulado 'Filtrar os logs Apache / Logging condicional', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.