Apache日志HTTP代码调度

当一些HTTP代码被触发时,我想通过电子邮件得到警告,所以我想根据请求的HTTP代码在不同的文件之间调度日志。 就像我可以把这些文件的观察员,然后通过邮件得到警告。

而且,如果HTTP代码在单独的文件中,日志文件应该更轻,所以它会增加我的日志分析器速度。

我试图在没有成功的情况下find有关Apache文档的信息,看起来像我必须使用SetEnvIf类似的东西:

 SetEnvIf ??http_code?? 403 403log CustomLog ${APACHE_LOG_DIR}/403.log vhost_combined env=403log SetEnvIf ??http_code?? 404 404log CustomLog ${APACHE_LOG_DIR}/404.log vhost_combined env=404log SetEnvIf ??http_code?? 406 406log CustomLog ${APACHE_LOG_DIR}/406.log vhost_combined env=406log etc ... 

不幸的是,似乎“http_code”看起来像Apache中不存在的一个variables

问:有没有办法根据Apache中的HTTP代码来调度访问日志?

谢谢阅读。

SetEnvIf查看请求 。 从文档 :

SetEnvIf指令根据请求的属性定义环境variables。

HTTP响应代码将来自响应 ,因此不可用。

为了使日志parsing器更简单,您正在为Apache做更多的事情。 Apache将不得不保持打开多个额外的文件句柄,消耗额外的资源。

如果性能出现问题,您应该在不同的主机上收集和处理您的日志。 在那里,你可以做各种各样的聚合,parsing,通知和任何你想要的特殊报告,而不会影响你的Web服务器。