Назад | Перейти на главную страницу

Rsyslog, исключить журналы

У меня есть специальный демон, который ведет журналы в средство rsyslog "local1" с двумя уровнями безопасности - "информация" и "отладка". Мне нужно записывать журналы «info» в / var / log / info и журналы «debug» в / var / log / debug.

Я редактировал rsyslog.conf

local1.*;local1.debug       /var/log/info.log

local1.debug                /var/log/debug.log

Когда демон дает "информационные" журналы, он работает нормально, он записывает в 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 есть информация + отладка, и я не могу исключить из нее информацию. ;local1.info не работает

Ключ находится на странице руководства:

Поведение исходного BSD syslogd заключается в том, что все сообщения с указанным приоритетом и выше регистрируются в соответствии с заданным действием. Rsyslogd ведет себя так же, но имеет некоторые расширения.

Поэтому, если вы хотите исключить отладку, просто укажите следующий наивысший приоритет, которым является информация:

local1.info       /var/log/info.log

Это будет означать, что все сообщения с приоритетом информации и выше будут отправляться в /var/log/info.log.

Решение для журнала отладки также находится на странице руководства:

Вы можете поставить перед каждым приоритетом знак равенства ('='), чтобы указать только этот единственный приоритет, а не что-либо из вышеперечисленного.

Итак, эта строка должна читаться

local1.=debug       /var/log/debug.log

чтобы получать только отладочные сообщения.