Saya memiliki banyak host virtual yang diatur di server web, masing-masing memiliki kesalahan dan akses log sendiri. Baris yang relevan httpd.conf
adalah sesuatu seperti ini:
ErrorLog /var/log/httpd-error.log
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog /var/log/httpd-access.log combined
NameVirtualHost *:80
<VirtualHost *:80>
ServerName myhost.com
ServerAlias www.myhost.com
DocumentRoot /var/www/myhost.com/htdocs
ErrorLog /var/www/myhost.com/log/error.log
CustomLog /var/www/myhost.com/log/access.log combined
</VirtualHost>
# ... many more VirtualHosts
Saat ini, saya mendapatkan beberapa kesalahan acak di /var/log/httpd-error.log, tapi saya tidak mendapatkan apa-apa di /var/log/httpd-access.log. Mungkinkah SEMUA akses dan kesalahan digandakan ke file log bersama? Apakah mungkin untuk melakukan ini tanpa menambahkan entri baru ke setiap VirtualHost?
sumber
Anda memiliki 2 kemungkinan menggunakan direktif ErrorLog http://httpd.apache.org/docs/2.2/mod/core.html#errorlog
1) Gunakan syslog dan tangani duplikasi di [r] syslog.conf
2) Gunakan pipa, kirim entri log ke aplikasi / skrip dan tangani duplikasi dalam aplikasi / skrip itu
sumber
Apakah menonton semua log akses sangat diperlukan? Jika kesalahan sebenarnya disebabkan oleh permintaan untuk vhost, harus ada sesuatu yang dicatat dalam log kesalahan vhost. Dalam hal ini, ls -t /var/www/*/log/error.log untuk menentukan vhost mana yang menjadi biang keladinya dan kemudian menonton saja file akses log yang tampaknya menjadi langkah pertama yang baik untuk menghilangkan banyak pembacaan log yang tidak perlu .
sumber