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

Определение приоритета / серьезности сообщения системного журнала

Есть ли способ узнать приоритет системного журнала или серьезность записей журнала с помощью стандартного инструмента unix?

Например, я могу найти слово «ошибка» в журнале с помощью grep. Но не во всех журналах будет указано слово «ошибка» в случае возникновения ошибки. Было бы неплохо найти все записи в журнале, которые были зарегистрированы с уровнем серьезности ошибки.

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

Традиционное поведение системного журнала действительно такое, как вы говорите, приоритет является частью заголовка сообщения системного журнала и используется внутри, и на диск записываются только временная метка, имя хоста и содержимое сообщения.

Это сообщение может включать или не включать текстовое описание серьезности, и нет способа получить его после записи на диск.

Если вы переключитесь на более многофункциональную альтернативу, например, rsyslog вы получаете больше вариантов конфигурации, в том числе шаблоны где вы можете точно настроить, как будут сохраняться события, что позволит вам указать приоритет.

По умолчанию информация на диск не записывается. - Проверьте документацию по syslogd, как это изменить.

{Free, Net} syslogd BSD принимает -v или -vv параметр для добавления объекта и приоритета.

rsyslog и syslog-ng позволяют настраивать собственные шаблоны сообщений. Для пример в rsyslog:

$template precise,"%syslogpriority%,%syslogfacility%,%timegenerated%,%HOSTNAME%,%syslogtag%,%msg%\n"