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

исключить возможность системного журнала из всех остальных

Я добавляю пользовательское ведение журнала на local0 в системный журнал.

Записать эти сообщения в конкретный журнал очень просто, в моем syslog.conf есть

local0.* -/var/log/my.log

Но как я могу исключить local0 из всех остальных журналов? В моей текущей настройке сообщения local0 также отображаются в / var / log / syslog, поскольку он указан как

*.*;auth,authpriv.none -/var/log/syslog

Нужно ли мне просматривать все остальные журналы по умолчанию и добавлять local0.none, или я могу использовать какое-то глобальное исключение?

В справочной странице syslogd указано, что восклицательный знак используется в качестве обозначения для исключения указанных приоритетов и что «Вы можете интуитивно использовать его как спецификатор исключения». Приведенный пример:

mail.*;mail.!=info              /usr/adm/mail

который будет регистрировать все почтовые сообщения, кроме сообщений с приоритетом «информация». Итак, для вашей проблемы я бы использовал

*.*;local0.!debug;auth,authpriv.none /var/log/syslog

или, что более читабельно,

*.*;local0.none;auth,authpriv.none /var/log/syslog

Однако вы должны знать, что я не смог это проверить.

В системном журнале я боюсь, что ваше предположение верно, вы должны сделать это, добавив local0.none в каждую строку системного журнала, в которой вам не нужен local0.

Если вы ищете другие варианты rsyslog в наши дни (все классные дети любят это), и на самом деле позволит вам делать то, о чем вы просите (проверьте Вот).

Также syslog-ng позволяет делать то, о чем вы просите, и иметь довольно классную фильтрацию даже по строкам (отметьте Вот), Я использую его для расширенного системного журнала на моем сервере сборщика журналов.