Vedi http://httpd.apache.org/docs/2.2/logs.html#virtualhost
Se le direttive CustomLog o ErrorLog vengono inserite in una sezione, tutte le richieste o gli errori per quell'host virtuale verranno registrati solo nel file specificato. Qualsiasi host virtuale che non ha direttive di registrazione avrà comunque le sue richieste inviate ai registri del server principale.
In altre parole, se si inseriscono le direttive di registrazione all'interno di una sezione VirtualHost, queste sostituiranno le direttive di registrazione all'interno della configurazione del server principale. Se si desidera accedere a un singolo file di registro, rimuovere la configurazione del registro dalle sezioni VirtualHost.
Per semplicità, preferisco registrare tutti i dati di Access in un singolo file di registro. Successivamente, è possibile elaborare i registri e dividere i file di registro in file di registro per gli host virtuali. Inoltre, scrivere su un singolo file di registro è un uso più efficiente delle risorse del computer rispetto alla scrittura su 30 file di registro contemporaneamente. Assicurati solo che LogFormat includa '% v', che registrerà il nome dell'host virtuale.
È possibile duplicare TUTTI gli accessi e gli errori in un file di registro condiviso?
È possibile registrare tutti gli errori e accedere a un file di registro condiviso, ma il file di registro è brutto. Innanzitutto, inviare i dati del registro Apache a syslog, quindi utilizzare syslog per inviare a un file locale o un server di registro remoto.
# 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
E poi in /etc/syslog.conf
# Send all HTTP log data to this file
local7.* /var/log/http-all.log