Одна хитрость, которую вы можете использовать, если вы управляете источником для приложения журналирования, состоит в том, чтобы маскировать уровень журнала, который вы хотите в самом приложении, а не в 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");
Не уверен, почему я использовал десятичную вместо битовой маски ... пожимает плечами