我想摆脱 Apache 中多余的日志记录。我找到了如何为此目的使用setenvif 模块的教程,设置变量。dontlog
唯一的问题是,我没有在标准列表中看到对我来说最有趣的东西,即 http 状态。
我想做以下事情:
SetEnvIf Http_Status 200 dontlog
Run Code Online (Sandbox Code Playgroud)
但似乎不Http_Status支持SetEnvIf...
如何根据http状态过滤日志?
一点谷歌搜索向我展示了以下结果:
每个状态代码的区别 我们都喜欢 HTTP 状态 200。它的意思是“OK”,这就是我们对记录它不感兴趣的原因。最常见的情况是当我们在日志中寻找某些特定的状态代码时。有了
mod_log_config你可以为每一个需要的状态创建单独的日志。请看这个配置:
CustomLog ok.log "%200t %200a,%200{User-Agent}i %200U%200q %200s"
CustomLog redirections.log "%301t %301a,%301{User-Agent}i %301U%301q %301s"
CustomLog not_found.log "%404t %404a,%404{User-Agent}i %404U%404q %404s"
CustomLog server_error.log "%500t %500a,%500{User-Agent}i %500U%500q %500s"
Run Code Online (Sandbox Code Playgroud)
它包含一个到这个网站的链接。
(当前)文档的mod_log_config用于匹配的状态码显示选项:
通过将逗号分隔的状态代码列表紧跟在“%”之后,可以将特定项目限制为仅打印具有特定 HTTP 状态代码的响应。状态代码列表前面可能有一个“!” 表示否定。
因此,我建议您通读该页面并配置CustomLog适合您需求的配置。我会从尝试类似的东西开始:
CustomLog /dev/null "%200"
Run Code Online (Sandbox Code Playgroud)
虽然文件名必须相对于 ,ServerRoot所以在那里需要一些技巧。也许检查一些chroot有关如何将文件 /dev/null 复制到ServerRoot.
| 归档时间: |
|
| 查看次数: |
391 次 |
| 最近记录: |