我有一个Apache作为HTTP服务器运行,也是由同一个Apache机器交付的SVN服务器。
configuration类似的东西
<Location /repos> DAV svn SVNParentPath /srv/repos </Location>
我如何防止Apachelogging所有SVN“PROPFIND”和“OPTIONS”访问请求?
我以为没有办法做到这一点,但事实certificate可能有。 CustomLog指令可以查找是否存在环境variables以决定是否logging请求。 结合mod_rewrite来设置这个环境variables,我想你有你在找什么。
RewriteEngine On RewriteCond %{REQUEST_METHOD} '^(OPTIONS|PROPFIND)$' RewriteRule ^/repos - [E=skiplog:1] CustomLog /log/file/path common env=!skiplog
我没有testing过这个。 从我正在阅读的文档中,尽pipe这应该工作。
这与Rewrite方法类似,只是使用SetEnvIf指令在相关虚拟主机中标记OPTIONS和PROPFIND请求,然后将env规则添加到访问日志中,以将其从访问日志中排除。
SetEnvIf Request_Method "OPTIONS" dontlog SetEnvIf Request_Method "PROPFIND" dontlog CustomLog /path/to/access_log combined env=!dontlog
我们走这条路线,build立了一个连续的build立系统,过度投票。 实际上,我们正在改变事情,使用SVN post-commit挂钩来通知构build系统的变化。
你应该可以添加:
ErrorLog /dev/null CustomLog /dev/null combined
到你使用的任何虚拟主机容器。 如果你没有使用SVN的虚拟主机,你可能会很难做到这一点。