Rsyslog, исключить логи
У меня есть пользовательский демон, который выдает журналы rsyslog "local1" с двумя уровнями безопасности - "info" и "debug". Мне нужно писать журналы "info" в /var/log/info и журналы "debug" в /var/log/debug.
Я редактировал rsyslog.conf
local1.*;local1.debug /var/log/info.log
local1.debug /var/log/debug.log
Когда демон выдает журналы "info", он работает хорошо, он записывает в info.log, а debug.log пуст. Но когда я получаю "отладочные" журналы, он пишет в оба файла.
Помогите мне исключить отладочные логи из info.log.
;local1.=debug
не работает. Я тоже пытался написать
local1.!debug /var/log/info.log
Но все еще не работает (в этой конфигурации информация журналов пуста)
rsyslog 8.24.0-12
Centos 7.4
ОБНОВИТЬ
local1.info /var/log/info.log
local1.debug;local1.info /var/log/debug.log
Тоже не работает, информация идет в info.log, все нормально. Но в debug.log есть info+debug, и я не могу исключить информацию из него. ;local1.info
не работает
1 ответ
Ключ находится на странице руководства:
Поведение исходного BSD syslogd состоит в том, что все сообщения с указанным приоритетом и выше регистрируются в соответствии с данным действием. Rsyslogd ведет себя так же, но имеет некоторые расширения.
Поэтому, если вы хотите исключить отладку, просто укажите следующий наивысший приоритет, а именно:
local1.info /var/log/info.log
Это будет означать, что все сообщения с приоритетной информацией и выше будут идти в /var/log/info.log.
Для журнала отладки решение также находится на странице руководства:
Вы можете поставить перед каждым приоритетом знак равенства ('='), чтобы указать только этот единственный приоритет, а не любой из вышеперечисленных.
Так что эта строка должна читать
local1.=debug /var/log/debug.log
получать только отладочные сообщения.