具有多个环境的 Apache CustomLog

具有多个环境的 Apache CustomLog

在 Apache httpd 中,我想使用 SetEnvIf 和 CustomLog 分离日志文件。file1.html 访问日志将写入 file1.log;file2.html 访问日志将写入 file2.log。最后,不是所有访问日志都是 file1.html,file2.html 都将写入 default.log

SetEnvIf Request_URI file1\.html FILE1
SetEnvIf Request_URI file2\.html FILE2

CustomLog "|/usr/local/apache2/bin/rotatelogs -l logs/file1.log_%Y-%m-%d_%H-%M 1800" common env=FILE1

CustomLog "|/usr/local/apache2/bin/rotatelogs -l logs/file1.log_%Y-%m-%d_%H-%M 1800" common env=FILE2

### Problem here
CustomLog "|/usr/local/apache2/bin/rotatelogs -l logs/default.log_%Y-%m-%d_%H-%M 1800" common env=!FILE1

但问题是 CustomLog 只接受 3 个参数,所以我不能同时设置

CustomLog "|/usr/local/apache2/bin/rotatelogs -l logs/default.log_%Y-%m-%d_%H-%M 1800" common env=!FILE1 env=!FILE2

使用上述配置,file1.html 访问日志仅保存在 file1.log 中。但 file2.log 保存在两个文件中:file2.log 和 default.log

我怎样才能做到?

相关内容