Menu
Donnez votre avis

Filtrer les logs Apache / Logging conditionnel

Posez votre question
Les logs du serveur web Apache sont généralement très verbeux, c'est-à-dire qu'ils contiennent tous les hits (fichiers images, feuilles de style, javascript, fils RSS, etc.).

Si vous ne souhaitez logger que les pages web il est possible de mettre en place une journalisation conditionnelle, permettant de ne pas logger certaines pages web. Pour ce faire, il suffit de définir une variable d'environnement selon certains critères, puis de demander au serveur de ne pas écrire dans les logs lorsque cette variable existe :


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


Dans l'exemple ci-dessus, les requêtes correspondant à des fichiers .ico, .pdf, .flx, .jpg, .jpeg, .png, .gif, .js, .css, .gz, .swf, .txt ne sont pas écrites dans les logs. Idem pour toutes les requêtes correspondant au répertoire /rss/

Note :


Pour pouvoir faire cela, le module mod_setenvif doit être chargé.
La commande apache2 -M (ou httpd -M, à vérifier en fonction de votre serveur apache installé ou distribution) permet de voir les modules chargés.

Voici sous 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
Jean-François Pillou

Cet article est régulièrement mis à jour par des experts sous la direction de Jean-François Pillou, fondateur de CommentCaMarche et directeur délégué au développement numérique du groupe Figaro.

En savoir plus sur l'équipe CCM

Ajouter un commentaire

Commentaires

Commenter la réponse de Utilisateur anonyme