Apache 是否会在每个 HTTP 请求上生成管道记录器?

Apache 是否会在每个 HTTP 请求上生成管道记录器?

我正在检查一个高容量的 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

相关内容