Как отслеживать журнал юнита systemd?

Как отслеживать журнал юнита systemd?

У меня запущен модуль systemd, и я хочу следить за его журналом.

Я знаю, что могу показать журнал подразделения, используя:

journalctl -u my_unit.service

Но это только выводит текущие журналы, не отслеживая их.

Я знаю, что я также могу следить за systemdжурналами, используя:

journalctl -f

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

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

journalctl -f | grep "what i'm interested in"

Разве нет команды для отслеживания журналов определенного подразделения?

Что я пробовал, но не сработало:

journalctl -uf my_unit.service

решение1

Я обнаружил, что использую аргументы в неправильном порядке. Журналы на самом деле можно отслеживать для одного блока, используя:

journalctl -fu my_unit.service

Другие рабочие варианты:

journalctl -f -u my_unit.service
journalctl -u my_unit.service -f

Отjournalctlруководство:

-u,--unit=UNIT|PATTERN

    Показать сообщения для указанного модуля systemdUNIT(например, единица обслуживания) или для любой из единиц, соответствующихPATTERN. Если указан шаблон, список имен единиц, найденных в журнале, сравнивается с указанным шаблоном, и используются все совпадения. Для каждого имени единицы добавляется совпадение для сообщений из единицы (" "), а также дополнительные совпадения для сообщений из systemd и сообщений о coredumps для указанной единицы._SYSTEMD_UNIT=UNIT

    Этот параметр можно указать несколько раз.

-f, --follow

    Показывать только самые последние записи журнала и непрерывно печатать новые записи по мере их добавления в журнал.

Связанный контент