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

Просмотр вывода небуферизованного журнала из journalctl

У меня определено несколько сервисов systemd. Они записываются как на диск, так и в журнал systemd, который я могу отслеживать с помощью journalctl -n 0 -fu myservice. Однако я заметил, что журналы, которые я просматриваю с помощью команды journalctl tail, часто на несколько минут отстают от журналов на диске. Я подтвердил, что это не связано с фактической конфигурацией ведения журнала, используемой демоном, так как когда я запускаю демон вручную и он выводит свои журналы на стандартный вывод на консоли, я сразу вижу журналы.

Как я могу увидеть вывод журнала из journalctl сразу после его создания службой? Приемлемо либо полное отсутствие буферизации, либо буферизация строки.

Может быть, это буферизованный канал между вашим демоном и systemd, используемый для ведения журнала? Возможно, это дубликат Выходные данные скрипта python, запущенного как юнит, вышли из строя, а оболочки кажутся незараженными где совет:

Добавление sys.stdout.flush() после написания или PYTHONUNBUFFERED окружающая среда решит эту проблему

Тот же совет есть Журнал systemd не показывает печать Python 3