是否可以将 Apache 配置为对每个子域使用不同的日志文件,即使所有子域都在同一个 VirtualHost 容器中?
所以,我只有一个虚拟主机:
<VirtualHost *:80>
ServerName example.com
ServerAlias test1.example.com test2.example.com test3.example.com
</VirtualHost>
我想最终得到以下日志文件:
/var/log/httpd-access_test1.log
/var/log/httpd-access_test2.log
/var/log/httpd-access_test3.log
我知道我可能可以使用自定义日志格式和拆分日志来做到这一点,但我想知道是否有办法让 Apache 为我做这件事。
您只需在每个指令中指定
ErrorLog
and 。考虑到这一点,如果不指定单独的 .CustomLog
VirtualHost
ServerAlias
VirtualHost
但是,您可以通过脚本通过管道传输日志,并让脚本生成单独的文件。查看管道日志记录文档。
您还可以使用后处理脚本,例如
grep
用于解析日志。postrotate
可以在或preprotate
部分下的每晚 logrotate 中指定后处理脚本。Apache 2.2 管道日志
您应该能够使用 apache 环境变量来使其正常工作: