I can basically see two ways of doing this:
1. Include the host header in the log and use a script to split the resulting
unique log file
2. set a distinct environment variable for each host (using
RewriteCond/RewriteRule) and use the optional log condition to determine to
what file to log, i.e. have one CustomLog directive per host name.
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(.+)$
RewriteRule . - [E=%1:1]
CustomLog /var/www/log/server1.log combined env=server1
CustomLog /var/www/log/server2.log combined env=server2
...
Not sure it will work, but maybe worth trying.
-ascs
-----Message d'origine-----
De : Terry [mailto:[EMAIL PROTECTED]
Envoyé : vendredi 11 janvier 2008 16:25
À : [email protected]
Objet : [EMAIL PROTECTED] splitting out to different files in customlog in mass
vhost
Hello,
My vhost config is at the bottom. Today, it is writing a special log format
for all of my vhosts to a single file. I would like to separate them out into
separate files based on my vhost.map or the
%{HOST}i or something similar. I tried CustomLog
logs/%{HOST}i-access_log but it appears to not honor that variable in
the CustomLog context. Any ideas? I can't do it on the backend
because I need my log files to be in common log format so the hostname isn't
included in that format.
Thanks!
Terry
<VirtualHost 10.0.1.37:80>
ServerAdmin [EMAIL PROTECTED]
ServerName omajelws04.foobar.com
Include conf/vhost_mass.conf
LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Host}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-agent}i\"" vcombined
CustomLog logs/shared_access_log vcombined
CustomLog logs/common_access_log common
RewriteEngine On
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/etc/httpd/conf/vhost.map
RewriteCond %{REQUEST_URI} !^/icons/
RewriteCond %{REQUEST_URI} !^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(?:www\.)?(.+)$
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(?:www\.)?(.+)$
RewriteRule ^/(.*)$ /home/%1/cgi-bin/$1 [T=application/x-httpd-cgi]
<Directory "/">
AllowOverride All
</Directory>
</VirtualHost>
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
" from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
" from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]