0

我正在尝试通过重新使用已经存在的 LogFormat 昵称来定义新的LogFormat 。

让我们考虑以下片段(来自 httpd 文档的“日志文件”部分):

SetEnv CACHE_MISS 1
LogFormat "%h %l %u %t \"%r\" %>s %b %{CACHE_MISS}e" common-cache
CustomLog logs/access_log common-cache

我想知道是否有办法common-cache通过重新使用common日志格式而不是硬编码来定义日志格式%h %l %u %t \"%r\" %>s %b

我问这个是因为我想base在核心httpd.conf文件中定义一个日志格式,然后在我的每个虚拟主机配置文件中定义一个customized基于日志格式的日志格式base

请注意,我不需要自定义日志格式的昵称,这意味着以下形式之一的解决方案就足够了:

## form 1
LogFormat *my customized format*
TransferLog logs/access_log

##form 2
CustomLog logs/access_log *my customized format*

感谢您的投入

4

1 回答 1

0

使用管道日志来实现这一点:

 CustomLog "|| customizer.sh logs/access_log 86400" foo_format

第二个参数指定将写入日志文件的内容。它可以指定由先前的 LogFormat 指令定义的昵称,也可以是日志格式部分中描述的显式格式字符串。

于 2013-10-25T23:05:22.523 回答