如何获取 Apache 的简单的非重新加载日志切换开关?

如何获取 Apache 的简单的非重新加载日志切换开关?

在开发服务器上,我希望仅在需要进行特定调试操作时才启用日志记录。我能想到的一种方法是 Apache 检查某个点文件是否存在,并根据该点文件决定 SetEnvIf dontlog 变量值。我该如何配置它,或者有没有更优化的方法?

我想避免整个服务器重新加载来切换此开关。

答案1

使用 CustomLog 时,您可以将日志传送到程序。一个示例用例是日志轮换,如下所述:旋转日志

根据您的技能,您可以编写一个自定义记录器,它只会根据您想要的条件进行记录。

这样做的好处是,您根本不必重新启动或重新加载 Apache。

这里是关于管道日志的更一般的描述:管道日志

答案2

您可以使用 CustomLog 指令的第三个参数来指定确定是否记录该请求的条件。

第三个参数可以是环境变量,或者从 Apache 2.4 开始可以是表达式(例如检查 HTTP_COOKIE)。

相关内容