s-6ren">
gpt4 book ai didi

apache - 为什么我不能让 Apache 的 CustomLog 指令工作?

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:04 25 4
gpt4 key购买 nike

我正在尝试使用 Apache 的 CustomLog 指令来创建一些自定义日志文件,但无法使其正常工作。这是我用于自定义日志的配置:

LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

CustomLog /var/log/apache2/jb_common common
CustomLog /var/log/apache2/jb_referer referer

Apache 在启动时创建这两个自定义日志文件,因此它肯定会看到 CustomLog 指令,但它从不向这些文件写入任何内容;但是,正在写入默认访问日志 (access.log)。

有什么想法吗?我在 Ubuntu 8.10 上运行 Apache 2.2。

最佳答案

我在 Ubuntu 9.10 Server 和 Apache 2.2.12 上遇到了同样的问题。我正在使用 mod_dav_svn 设置一个 Subversion 服务器,并将 CustomLog 指令添加到 /etc/apache2/mods-available/dav_svn.conf 到记录 Subversion 请求,但有同样的问题(日志文件是在 Apache 启动时创建的,但从未写入):

<Location /svn>
...
</Location>

LogFormat "%t %u %{SVN-ACTION}e" svn_log
CustomLog /var/log/apache2/svn_access.log svn_log env=SVN-ACTION

对于我发现的问题,有两种解决方法,它们基本上是一回事。我在这里记录两者,因为它们各有优缺点。

解决方法 1

  1. 如果您在单独的配置文件中设置了 CustomLog 指令,请将其删除。

  2. CustomLog 指令添加到您站点的 VirtualHost 条目中。对我来说,这是在 /etc/apache2/sites-available/default-ssl 中,因为我只允许 SSL 访问 Subversion 存储库。如果您使用的是 /etc/apache2/sites-available/default,您将需要编辑该文件(或者如果您同时使用两者,则除了 default-ssl ).

  3. 重新启动 Apache:

sudo/etc/init.d/apache2 重启

专业版

您可以在站点的 VirtualHost 条目中有多个 CustomLog 指令,它们都可以工作。

反对

您必须将您的 CustomLog 条目移动到您站点的 VirtualHost 条目中,而不是将其放在单独的配置文件中。

解决方法 2

  1. 注释掉您站点的 VirtualHost 条目中的 CustomLog 指令。如果您使用的是默认站点配置之一(defaultdefault-ssl),访问日志将有一个 CustomLog 指令您需要注释掉(是的,这会关闭 Apache 的默认访问日志记录)。

  2. 将您的 CustomLog 指令添加到适当的配置文件中。对我来说,这是 /etc/apache2/mods-available/dav_svn.conf

  3. 重新启动 Apache:

sudo/etc/init.d/apache2 重启

专业版

您可以将 CustomLog 指令保存在单独的配置文件中。

反对

此变通办法有一个明显的缺点,即您必须禁用 Apache 的默认访问日志记录,但对我来说我并不在意,因为我只使用服务器进行 Subversion 访问。

结论

这些变通办法都不是真正理想的,但到目前为止,除了上面的两个变通办法之外,我还没有找到让它工作的方法。我想我们必须等待 Apache 的下一个版本才能解决这个问题。

关于apache - 为什么我不能让 Apache 的 CustomLog 指令工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/525057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com