我们希望将404未找到的错误分离到不同的日志文件中 . 现在我们写入此错误的日志文件(apache)位于“access.log”文件中 .
我们希望在notfound.log中找到404未找到的错误
我在apache2.conf中做了一个测试写入:
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" notfound
并在VirtualHost的apache站点 - 可用:
CustomLog ${APACHE_LOG_DIR}/not-found.log notfound expr=.*404.*
但我得到 "error in condition clause"
我也尝试在VirtualHost中设置一个env变量:
SetEnvIf expr .*404.* httpcode
并在CustomLog expr中调用它但没有工作 . 有人可以帮助我们吗?
谢谢 .
2 回答
如果安装自定义Apache模块SetEnvIfPlus,则可以使用您的方法 . 这应该允许您使用
ResponseSetEnvIfPlus
指令设置环境变量,然后使用该envirionment变量强制自定义日志文件 .你可以参考Apache CustomLog Manual . 它说
因此,您可以指定程序路径而不是日志文件路径,并可以处理该程序的请求 . 你可以找到更多关于管道日志的信息here