我正在检查一个高容量的 Apache预分叉站点并注意到许多日志条目,例如:
CustomLog '|/foo/bar/cronolog -foo -bar'
RewriteLog '|/foo/bar/cronolog -bar -foo'
当 apache 记录请求或重写是 cronolog为每个请求生成管道,还是在预分叉的 Apache 进程的整个生命周期内打开并写入管道?
(这是在 stackoverflow 上提出的,但我将把它从那里删除,因为我认为它更适用于这里。)
答案1
它根据 CustomLog 指令生成一次。
因此,在我的服务器上,我在全局范围内使用这两个指令,仅启动了一个 cronolog 副本并用于写入日志。
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedvhost
CustomLog "|/usr/bin/cronolog /var/log/apache2/%Y%m.combined.allhosts.log" combinedvhost