我们通过 Apache httpd 运行 SVN。对于身份验证,我们使用 Active Directory,如果用户不在 AD 中,我们将回退到文件身份验证。除了文件身份验证时的错误消息外,此方法运行良好。我们一次又一次收到错误消息:
auth_ldap authenticate: user <user> authentication failed; URI /svn/some/uri [User not found][No such object]
我们希望过滤掉这些消息,因为我们的日志文件由于这些不必要的日志消息而迅速增长。
答案1
很抱歉回答我自己的问题,但我已经实施了一个解决方案,我想与您分享,因为您帮助了我,而且它可能对其他人有价值。
基本上它相当简单,我根本没有改变日志记录,我只是将日志轮换(/etc/logrotate.d/httpd)更改为:
/var/log/httpd/*log {
compress
compresscmd /usr/bin/bzip2
compressext .bz2
daily
dateext
maxage 31
rotate 14
size=+4096k
notifempty
missingok
sharedscripts
prerotate
/bin/sed -i '/User not found/d' /var/log/httpd/*svn_error_log
endscript
postrotate
/sbin/service httpd graceful > /dev/null 2>/dev/null || true
endscript
}
这样,所有误报都会每天从日志文件中删除。日志文件的大小会减小,并且不会随着时间的推移而增大,因为文件会在 31 天后(最多)被删除。
答案2
答案3
你可以完全禁用错误日志消息。例如
错误日志 /dev/null