5 votes

Est-il possible d'avoir 2 journaux d'erreurs par VirtualHost dans Apache?

J'ai environ 10 VirtualHosts et j'aime garder les error_logs séparés. Récemment, j'ai aussi besoin d'avoir les error_logs tous combinés pour certains scans mod_security.

Si je définis 2 ErrorLogs pour un VirtualDomain de test, je remarque que aucune erreur n'est enregistrée. Assez étrange.

Est-il possible d'avoir un CustomLog jouer le rôle d'un ErrorLog?

Ou est-ce que je définis mal mes 2 ErrorLogs?

    ServerName mydomain.net
    ServerAlias www.mydomain.net mydomain.net
    DocumentRoot /var/www/html/mydomain
    ServerAdmin not@available.com
    UseCanonicalName Off

    ErrorLog logs/mydomain.net-error_log
    ErrorLog logs/unified_modsecurity-error_log

    CustomLog logs/mydomain.net-access_log combined
    UserDir disabled
    UserDir enabled mydomainuser

7voto

flowen Points 143

Non, il n'est pas possible d'avoir deux directives ErrorLog par VirtualHost. Cependant, vous pourriez utiliser la capacité d'Apache à rediriger vers une commande afin de journaliser vers deux (ou plus) fichiers en utilisant la commande UNIX 'tee':

ErrorLog "|/usr/bin/tee -a /var/log/apache/error-1.log /var/log/apache/error-2.log"

3voto

Aubrey Lavigne Points 171

According to the documentation des journaux Apache 2.4:

Par défaut, le processus de journalisation en tuyau est lancé sans appeler un shell. Utilisez "|$" au lieu de "|" pour le lancer en utilisant un shell (généralement avec /bin/sh -c) :

C'était le comportement par défaut pour Apache 2.2.

Exemple :

# Écrire dans les fichiers error-1.log et error-2.log, et afficher dans la sortie standard
CustomLog "|$/usr/bin/tee -a /var/log/apache/error-1.log /var/log/apache/error-2.log"

Un autre problème auquel j'ai été confronté :

  • Il ne doit pas y avoir d'espace entre le guillemet double et la barre verticale.
    • "|$ ... est valable.
    • " |$ ... ne l'est pas.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X