Validation

validation

Кастомизация: Подсветка слов «err» и «error» в терминале, без учета регистра

Есть несколько способов сделать это:

1. Изменение файла конфигурации journalctl:

Файл /etc/systemd/journald.conf по умолчанию содержит только строку Storage=persistent.

  • Откройте файл конфигурации journalctl:
sudo nano /etc/systemd/journald.conf
  • Добавьте в секцию [Highlight] следующие строки:
# Файл конфигурации journald

Storage=persistent

[Highlight]
Err=red
Error=red
# Подсветка без учета регистра
IgnoreCase=yes

После добавления этих строк, слова «err» и «error» будут подсвечиваться красным цветом в выводе journalctl.

Сохраните файл и перезапустите сервис journald:

sudo systemctl restart systemd-journald

Теперь, когда вы вводите команду:

sudo journalctl -u zetacored -f -n 100

Вы должны увидеть, что слова «err» и «error» подсвечиваются красным цветом.

Установка IgnoreCase=yes в файле /etc/systemd/journald.conf не будет влиять на чувствительность к регистру команд, вводимых с использованием systemctl.

IgnoreCase=yes влияет только на отображение слов «err» и «error» в выводе команды journalctl.

2. Использование опции -i:

  • Используйте опцию -i для игнорирования регистра:
sudo journalctl -u myService.service -f -n 100 -i "err\|error"

Выберите метод, который вам больше подходит.

Важно:

  • Изменения в файле конфигурации journalctl будут применены ко всем пользователям системы.
  • Опция -i может быть использована для игнорирования регистра при фильтрации.


Описание функций journald.conf

less /etc/systemd/journald.conf
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See journald.conf(5) for details.

[Journal]
#Storage=auto
#Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=10000
#SystemMaxUse=
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
#MaxRetentionSec=
#MaxFileSec=1month
#ForwardToSyslog=yes
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
#LineMax=48K
#ReadKMsg=yes

  1. [Journal]:
    • Это заголовок секции конфигурации, который говорит о том, что ниже будут указаны параметры для настройки systemd-journald.
  2. #Storage=auto:
    • Этот параметр определяет, как будет храниться журнал. В данном случае, комментарий (#) перед строкой делает ее неактивной. auto означает использование автоматического выбора метода хранения.
  3. #Compress=yes:
    • Этот параметр определяет, будет ли журнал сжиматься. yes означает, что сжатие включено.
  4. #Seal=yes:
    • Этот параметр определяет, будет ли журнал запечатан (sealed), что означает, что он не будет поддаваться изменениям.
  5. #SplitMode=uid:
    • Определяет, каким образом разбиваются журналы между пользователями. В данном случае, комментировано, что означает использование значения по умолчанию (uid).
  6. #SyncIntervalSec=5m:
    • Определяет интервал синхронизации записей журнала с диском. Здесь установлено значение в 5 минут.
  7. #RateLimitIntervalSec=30s:
    • Определяет интервал времени для ограничения записей в журнале. В данном случае, комментировано, что означает использование значения по умолчанию (30 секунд).
  8. #RateLimitBurst=10000:
    • Определяет максимальное количество записей, которые могут быть добавлены до наступления ограничения.
  9. #SystemMaxUse=:
    • Определяет максимальный объем дискового пространства, который может быть занят системными журналами.
  10. #SystemKeepFree=:
    • Определяет минимальное свободное дисковое пространство для системных журналов.
  11. #SystemMaxFileSize=:
    • Определяет максимальный размер файла для системных журналов.
  12. #SystemMaxFiles=100:
    • Определяет максимальное количество файлов для системных журналов.
  13. #RuntimeMaxUse= и последующие аналогичны системным настройкам, но применяются к журналам запущенных сессий.
  14. #MaxRetentionSec=:
    • Определяет максимальное время хранения записей журнала.
  15. #MaxFileSec=1month:
    • Определяет максимальное время хранения каждого файла журнала.
  1. #ForwardToSyslog=yes:
    • Определяет, будет ли systemd-journald передавать журналы в системный журнал (syslog). В данном случае, комментировано, что означает использование значения по умолчанию (yes).
  2. #ForwardToKMsg=no:
    • Определяет, будет ли systemd-journald передавать журналы в кольцевой буфер ядра (KMsg). В данном случае, отключено.
  3. #ForwardToConsole=no:
    • Определяет, будет ли systemd-journald передавать журналы на консоль. В данном случае, отключено.
  4. #ForwardToWall=yes:
    • Определяет, будет ли systemd-journald передавать журналы на «стену» (Wall), что может означать вывод на все терминалы. В данном случае, комментировано, что означает использование значения по умолчанию (yes).
  5. #TTYPath=/dev/console:
    • Определяет путь к терминалу (TTY), на который будут отправляться журналы. В данном случае, установлен путь к системной консоли.
  6. #MaxLevelStore=debug:
    • Определяет максимальный уровень логирования, который будет сохранен в журнале systemd-journald. В данном случае, установлен уровень debug.
  7. #MaxLevelSyslog=debug:
    • Определяет максимальный уровень логирования, который будет отправлен в системный журнал (syslog). В данном случае, установлен уровень debug.
  8. #MaxLevelKMsg=notice:
    • Определяет максимальный уровень логирования, который будет отправлен в кольцевой буфер ядра (KMsg). В данном случае, установлен уровень notice.
  9. #MaxLevelConsole=info:
    • Определяет максимальный уровень логирования, который будет отправлен на консоль. В данном случае, установлен уровень info.
  10. #MaxLevelWall=emerg:
    • Определяет максимальный уровень логирования, который будет отправлен на «стену» (Wall). В данном случае, установлен уровень emerg.
  11. #LineMax=48K:
    • Определяет максимальный размер одной строки в журнале systemd-journald. В данном случае, установлен размер 48 килобайт.
  12. #ReadKMsg=yes:
    • Определяет, будет ли systemd-journald читать сообщения из кольцевого буфера ядра (KMsg). В данном случае, установлено значение yes.