如何为不同的HTML URL路径生成单独的日志?

时间:2013-04-22 19:04:12

标签: ubuntu logging apache2

我正在尝试基于目录访问来突破我的网站的日志记录,因此我正在寻求对此answer(或此answer)的详细说明:在哪个文件中放置建议回答?

我将以下内容放入/etc/apache2/apache2.conf(实际上通过Include my-logging.conf):

SetEnvIf Request_URI "^/download/.+$" download_access
CustomLog /home/jamie/apache-logs/download.log common env=download_access

目录/home/jamie/apache-logs/及其中的文件是通用可写的,但是当我通过浏览器(http://download/index.html)访问资源时,主访问日志(/var/log/access.log)已更新但不是日志我希望:/home/jamie/apache-logs/download.log保持不变。

我有理由相信mod_setenvif已启用:

$ sudo a2enmod setenvif
Module setenvif already enabled

我该如何做到这一点?

2 个答案:

答案 0 :(得分:2)

头啪!

正则表达式错误:

SetEnvIf Request_URI "^/download/.+$" download_access

应该是:

SetEnvIf Request_URI "^/download/.*$" download_access

请注意*+

答案 1 :(得分:1)

编辑:

不,这是正则表达式。头巴是对的。


您是否想看看/etc/apache2/apache2.conf或其他包含的网站文件中是否有地方(可能是/etc/apache2/sites-enabled/foo.conf/etc/apache2/conf/foo.conf或其他...我使用不同的发行版)有不同的 CustomLog 定义?

你的陈述有可能超出你的观点。放置 CustomLog 指令的最佳位置是在定义您网站的<VirtualHost>节中。这样,该指令将具有最高优先级,因此它将覆盖服务器范围的设置。我认为正在发生的是您的定义是为服务器设置默认值,但更具体的自定义日志语句位于VirtualHost中并覆盖它。