apache - Apache error.log 中未出现 404 错误

标签 apache logging

如果访问者收到 404 错误,则 apache 中不会写入任何内容 error.log .在访问日志中显示如下:

GET /qqq HTTP/1.1" 404 409 "-"

error.log 中什么也没有.我已经尝试了有关 LogLevel 的所有内容.据我了解,这是因为 404 页面是自定义页面,例如
ErrorDocument 404 /new404.html

但我搜索所有 /etc/apache2对于文件中的文本“404”,在那里找不到任何内容(而不是注释行)。可能是什么问题?或者我可以在 .htaccess 中以某种方式禁用自定义 404 页面文件?或任何其他方式在 error.log 中显示 404 错误?

最佳答案

作为提交 Apache bug 的人从 Apache 2.4.1 开始,将 404 从错误级别降级为信息级别,理由如下:

在对 Internet 开放的生产 HTTP 服务器中,404 一直发生。恶意软件、扫描程序脚本和各种其他东西会探测 Web 服务器是否存在漏洞或仅仅因为它们可以,并且这些东西都会触发错误,如果设置了适当的错误级别,这些错误最终会被记录在某个地方。

大多数生产 Web 服务器管理员都满足于在他们的访问日志中看到 404(与 200 和 30x 重定向一起记录),并希望在错误日志中看到真正的服务器问题——他们可以控制修复的事情。在某些服务器中,error.log 中 404 的日志记录可能是大量日志垃圾邮件,以至于淹没了需要管理员注意的合法问题。

404 是内容问题,而不是服务器问题。所以我的建议是查看您的 access.log(或等效文件)。如果您真的希望在 error.log 中记录与内容相关的问题,则需要设置 LogLevel core:info .这将为您提供 404,以及其他一些与内容相关的错误消息。

关于apache - Apache error.log 中未出现 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36568205/

相关文章:

c# - 每次使用 Serilog 创建新记录器时,都会创建一个具有更新后缀的新文件

linux - 在跟踪日志时找到关键字,然后执行 X

Azure ApiApp 中的 Java 日志记录

linux - java.lang.UnsatisfiedLinkError :/usr/local/jdk5/jre/lib/i386/xawt/libmawt. so : libXext. so.6:无法打开共享对象文件:没有这样的文件或目录

apache - 在 Apache 的/var/www 下的子目录上启用 CORS

c - 取决于调试级别的函数多态性

mysql - Innodb 日志刷新以防止数据丢失

regex - 与 mod_rewrite 斗争

linux - 使用 .htaccess 阻止来自 Google bot 的文件夹

apache - Phusion Passenger 内部服务器错误