我有一台服务器,为我们的每个客户站点(约 30 个站点)运行大量 VirtualHost。我已经配置了 VHost,以便每个站点都有自己的日志,存储在 中<public>/../log/access.log
,错误日志也是如此。
我想创建一个服务器范围的日志,其中包含每个请求的一些基本信息 - 特别是时间、状态代码和虚拟主机。最好将这些信息存储在一个文件中,而不是解析每个单独的访问日志。
有没有办法告诉 ApacheCustomLog
除了遵循实际的 VHost 文件中的所有文件之外还要遵循一个?
答案1
你可以从 CustomLog 管道传输日志。然后您可以使用tee
,例如,将它们发送到不同的目的地(可能事先处理它们)。有一个例如 fnal.gov:
ErrorLog "|/usr/bin/tee -a /var/log/www/error.log | /usr/bin/logger -thttpd -plocal6.err"
CustomLog "|/usr/bin/tee -a /var/log/www/access.log | /usr/bin/logger -thttpd -plocal6.notice" extended_ncsa