У нас есть SVN, работающий через Apache httpd. Для аутентификации мы используем Active Directory, и если пользователь не находится в AD, мы возвращаемся к аутентификации файла. Это работает нормально, за исключением сообщений об ошибках в случае аутентификации файла. Сообщение об ошибке мы получаем снова и снова:
auth_ldap authenticate: user <user> authentication failed; URI /svn/some/uri [User not found][No such object]
Мы хотели бы отфильтровать эти сообщения, так как наши файлы журнала быстро растут из-за этого ненужного сообщения журнала.
Извините за ответ на мой собственный вопрос, но я реализовал решение, которым хотел поделиться с вами, поскольку вы помогали мне, и оно может быть полезно для других.
В основном это довольно просто, я вообще не менял ведение журнала, я просто изменил ротацию журнала (/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 день (максимум).
При условии, что целью является фильтрация этих журналов в разные файла, есть несколько способов сделать это.
ErrorLog
к системный журнал и входить в разные файлы в зависимости от ввода.Отклоняя Подробная информация о LogLevel вероятно, плохая идея, потому что она влияет на другие сообщения в VirtualHost. То же самое с LDAPLibraryDebug, и я думаю, что эти сообщения приходят из Apache, а не из библиотеки LDAP.
Вы можете вообще отключить сообщения журнала ошибок. Что-то вроде
Журнал ошибок / dev / null