Voir http://httpd.apache.org/docs/2.2/logs.html#virtualhost
Si les directives CustomLog ou ErrorLog sont placées dans une section, toutes les demandes ou erreurs pour cet hôte virtuel seront enregistrées uniquement dans le fichier spécifié. Tout hôte virtuel qui n'a pas de directives de journalisation verra toujours ses demandes envoyées aux journaux du serveur principal.
En d'autres termes, si vous placez des directives de journalisation dans une section VirtualHost, cela remplacera les directives de journalisation dans la configuration du serveur principal. Si vous souhaitez vous connecter à un seul fichier journal, supprimez la configuration du journal de vos sections VirtualHost.
Par souci de simplicité, je préfère consigner toutes les données Access dans un seul fichier journal. Plus tard, vous pouvez traiter les journaux et diviser les fichiers journaux en fichiers journaux pour les hôtes virtuels. En outre, l'écriture dans un seul fichier journal est une utilisation plus efficace des ressources informatiques que l'écriture dans 30 fichiers journaux à la fois. Assurez-vous simplement que votre LogFormat inclut le '% v', qui enregistrera le nom de l'hôte virtuel.
Est-il possible d'avoir TOUS les accès et les erreurs dupliqués dans un fichier journal partagé?
Vous pouvez enregistrer toutes les erreurs et accéder à un fichier journal partagé, mais le fichier journal est moche. Tout d'abord, envoyez les données du journal Apache à syslog, puis utilisez syslog pour envoyer à un fichier local ou à un serveur de journal distant.
# Send access logs to syslog
LogFormat "%v %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog "|/usr/bin/logger -t httpd -i -p local7.notice" combined
# Send error logs to syslog
ErrorLog syslog:local7
Et puis dans /etc/syslog.conf
# Send all HTTP log data to this file
local7.* /var/log/http-all.log
Stefan Lasiewski
la source
Vous avez 2 possibilités en utilisant la directive ErrorLog http://httpd.apache.org/docs/2.2/mod/core.html#errorlog
1) Utilisez syslog et gérez la duplication dans [r] syslog.conf
2) Utilisez pipe, envoyez l'entrée de journal à une application / script et gérez la duplication dans cette application / script
la source
La surveillance de tous les journaux d'accès est-elle strictement nécessaire? Si les erreurs sont réellement provoquées par une demande de vhost, quelque chose doit être enregistré dans le journal des erreurs de vhost. Dans ce cas, ls -t /var/www/*/log/error.log pour déterminer quel vhost est le coupable, puis regarder uniquement ce fichier journal d'accès semble être une bonne première étape pour éliminer beaucoup de lecture de journal inutile. .
la source