2 votes

Ne parviens pas à faire fonctionner un CustomLog Apache

Je suis en train de créer une directive CustomLog pour mon fichier httpd.conf. Les directives que j'ai insérées sont

LogFormat "%h %t %t %{Referer}i" testx
CustomLog /var/www/httpd-logs/example.com.access.log testx

J'ai %t deux fois pour pouvoir voir plus facilement l'entrée du journal s'il passe. Mais cela ne fonctionne pas. Tout ce que je vois dans le journal pour cela est "testx" au début d'une ligne, sans données supplémentaires.

Aussi, je remarque que la documentation pour le journal Apache met des guillemets autour de %{Referer}i mais si je fais ça, comme

LogFormat "%h %t %t "%{Referer}i"" testx 

ISP manager ne l'acceptera pas dans httpd.conf.

Enfin, ce que je veux vraiment journaliser est la valeur de l'en-tête Accept (HTTP_ACCEPT), j'ai donc essayé de modifier la ligne LogFormat en

LogFormat "%h %t %t %{Accept}i" testx

mais cela ne fonctionne pas non plus.

Est-ce que quelqu'un voit ce que je fais de mal ici? Merci.

1voto

SuperDuperApps Points 5113

Tout d'abord, vous devez échapper ces guillemets doubles si vous voulez les inclure, comme ceci :

LogFormat "%h %t %t \"%{Referer}i\"" testx

Ceci étant dit, votre exemple fonctionne bien pour moi :

LogFormat "%h %t %t %{Referer}i" testx
CustomLog /exemple/chemin/exemple.com.access.log testx

M'a donné (toutes les entrées interdites juste en visitant la page d'accueil de mon site de test) :

1.2.3.4 [29/Juin/2017:23:25:20 +0000] [29/Juin/2017:23:25:20 +0000] -
1.2.3.4 [29/Juin/2017:23:25:20 +0000] [29/Juin/2017:23:25:20 +0000] http://www.exemple.com/
1.2.3.4 [29/Juin/2017:23:25:20 +0000] [29/Juin/2017:23:25:20 +0000] -
1.2.3.4 [29/Juin/2017:23:25:20 +0000] [29/Juin/2017:23:25:20 +0000] -
1.2.3.4 [29/Juin/2017:23:25:22 +0000] [29/Juin/2017:23:25:22 +0000] -
1.2.3.4 [29/Juin/2017:23:25:23 +0000] [29/Juin/2017:23:25:23 +0000] http://www.exemple.com/

Assurez-vous de ne pas les ajouter dans un fichier .htaccess et n'oubliez pas de redémarrer Apache après avoir apporté un changement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X