需要 Apache CustomLog 帮助

需要 Apache CustomLog 帮助

我想将所有域的图像记录到服务器上的单独文件中。

这有效:

CustomLog logs/host1-access-log combined env=!image
CustomLog logs/image-access-log combined env=image

但必须将其添加到每个虚拟主机。当您有 24710 个主机时,这很快就会成为一个问题。

我没有它们:)但是由于所有图像都记录在同一个文件中,是否可以使用单个 Customlog 指令来实现?

Apache 2.2.2

谢谢!

玛丽亚

答案1

根据我的个人经验(以及mod_log 页面),您可以在全局范围内声明它(即服务器配置)。因此,在 VirtualHost 之外,您可以使用:

CustomLog logs/host1-access-log combined env=!image
CustomLog logs/image-access-log combined env=image
<VirtualHost ...>

这将适用于所有 VirtualHosts,除非他们明确覆盖它。希望这能有所帮助!

编辑:我能够使用以下配置成功完成此操作(监听端口 81 和 82,进行测试):

Listen 81
Listen 82

SetEnvIf Request_URI "\.gif$" image
CustomLog logs/image-access-log combined env=image

<VirtualHost *:81>
    ServerName test81
    DocumentRoot /home/apache/test81
    CustomLog logs/host1-access-log combined env=!image
</VirtualHost>
<VirtualHost *:82>
    ServerName test82
    DocumentRoot /home/apache/test82
    CustomLog logs/host1-access-log combined env=!image
</VirtualHost>

日志文件的输出如下(请注意 和 的双重access_log输出host1-access-log

==> /var/log/httpd/image-access-log <==
10.1.2.239 - - [12/Sep/2010:13:23:34 -0400] "GET /image_on_81.gif HTTP/1.1" 304 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9"
10.1.2.239 - - [12/Sep/2010:13:23:42 -0400] "GET /image_on_81.gif HTTP/1.1" 404 213 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9"
10.1.2.239 - - [12/Sep/2010:13:23:48 -0400] "GET /image_on_82.gif HTTP/1.1" 304 - "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9"

==> /var/log/httpd/host1-access-log <==
10.1.2.239 - - [12/Sep/2010:13:23:57 -0400] "GET /not_an_image.txt HTTP/1.1" 200 12 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9"

==> /var/log/httpd/access_log <==
10.1.2.239 - - [12/Sep/2010:13:23:57 -0400] "GET /not_an_image.txt HTTP/1.1" 200 12 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9"

如果您仍然无法达到预期的效果,那么可能是您的 Apache 配置中存在其他问题;如果您也发布该问题,我相信我(或其他人)可以提供进一步的帮助。:)

相关内容