我们有我们的生产服务器上运行的那个好的/真棒的Fogbugz工具。 问题是这个服务器处理超过400个域名和超过20个真实的网站。
日志已经很重了,因为我们已经安装了Fogbugz,所以每隔15秒就会有一个非常好的进程叫做心跳。 现在想象我们的日志的大小…污染了吨像线:
GET /fogbugz/heartbeat.asp HTTP / 1.1“302 223” - “”FogBugz维护服务7.1“
(见http://fogbugz.stackexchange.com/questions/794/what-does-the-fogbugz-maintenance-service-actually-do )
我们正在运行最新的Apache httpd服务器版本。 有什么办法可以忽略这个特定的请求,而不是logging它?
mod_log_config可能是一个选项,但我没有find一个好的答案。
我没有testing过这个,但是,如果你设置了一个环境variables,你应该可以切换到哪个文件:
SetEnvIf Request_URI "/fogbugz/heartbeat\.asp$" is_heartbeat_request=1 CustomLog /var/log/httpd/heartbeat_log combined env=is_heartbeat_request CustomLog /var/log/httpd/access_log combined env=!is_heartbeat_request
我没有时间挖掘过去曾经做过这样的configuration,但我的记忆是,您可以使用File指令来closures一个文件的注销。 我认为这看起来像这样
<Directory /path/to/dir/holding/file> <Files heartbeat.asp> CustomLog/dev/null </Files> </Directory>
可能值得看看日志logging模块,看是否有一个命令closures日志logging,而不是logging到/ dev / null …
从你提供的链接看这个部分 。 您可以通过pipe道和程序名称跟踪日志文件名,以便在日志logging之前接收日志请求。 所以,你可以使用grep -v heartbeat.asp来过滤匹配的请求