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

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

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

1 ответ

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

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

Тот же совет в журнале Systemd, где нет печати на python 3

Другие вопросы по тегам