我想将 apache 2.2 日志条目分成 2 个日志文件:来自 LAN(192.168.0.0/16)的请求应该放在一个文件中lan-access.log
,其余的放在默认文件中access.log
我该如何实现呢?我尝试使用SetEnvIf
条件日志记录,如https://httpd.apache.org/docs/current/logs.html#conditional:
$ cat /etc/apache2/conf.d/lan-access-log.conf
SetEnvIf Remote_Addr "192\.168\." fromlan
CustomLog ${APACHE_LOG_DIR}/lan-access.log common env=fromlan
但它不起作用,主屏幕上不断弹出 LAN 请求acess.log
。我的配置有什么问题?
答案1
您忘记配置反向,除了将您的 LAN 请求写入其自己的日志之外,您还需要将它们从常规日志中排除......
# Where your access log is defined
CustomLog logs/access_log common env=!fromlan
确保在常规访问日志之前声明 SetEnvIf 行。