![Apache2 是否可以配置为将部分访问日志存储在单独的位置?](https://linux22.com/image/566235/Apache2%20%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E9%85%8D%E7%BD%AE%E4%B8%BA%E5%B0%86%E9%83%A8%E5%88%86%E8%AE%BF%E9%97%AE%E6%97%A5%E5%BF%97%E5%AD%98%E5%82%A8%E5%9C%A8%E5%8D%95%E7%8B%AC%E7%9A%84%E4%BD%8D%E7%BD%AE%EF%BC%9F.png)
我们计划使用跟踪像素收集一些分析数据。为此像素配置不同的访问日志存储策略将非常有帮助(http://ourdomain.com/tracking.png?someParameter=123)
是否可以将 Apache 配置为过滤并仅将包含特定 URL 模式的访问日志存储在与主访问日志不同的位置?我们仍然希望将完整的访问日志保留在初始分区上,并使用不同的保留策略。
答案1
你可以使用mod_setenvif设置与跟踪像素相关的环境变量,然后使用它过滤日志。例如
SetEnvIf Request_URI "tracking\.png$" tracking
.
.
.
CustomLog logs/access_log common env=!tracking
CustomLog logs/tracking_access_log common env=tracking
如果请求跟踪像素,则会设置环境变量并将事件记录到不同的文件中。