Один трюк, который вы можете использовать, если вы контролируете источник в приложении регистрации, заключается в том, чтобы замаскировать уровень журнала, который вы хотите в самом приложении, а не в syslog.conf. Я сделал это несколько лет назад с помощью приложения, которое создало огромное огромное количество журналов отладки. Вместо того, чтобы удалять вызовы из производственного кода, мы просто маскировались, чтобы вызовы уровня отладки никогда не отправлялись демону. Я действительно нашел код, это Perl, но это просто фронт вызова setlogmask (3).
use Sys::Syslog;
# Start system logging
# setlogmask controls what levels we're going to let get through. If we mask
# them off here, then the syslog daemon doesn't need to be concerned by them
# 1 = emerg
# 2 = alert
# 4 = crit
# 8 = err
# 16 = warning
# 32 = notice
# 64 = info
# 128 = debug
Sys::Syslog::setlogsock('unix');
openlog($myname,'pid,cons,nowait','mail');
setlogmask(127); # allow everything but debug
#setlogmask(255); # everything
syslog('debug',"syslog opened");
Не знаю, почему я использовал десятичный вместо битовой маски ... Shrug
Существует также rsyslog. Не знаю, быстрее ли это, но, возможно, стоит попробовать. – 2008-10-16 11:15:07