Відповіді:
Ви можете використовувати:
journalctl -u service-name -f
-f, - далі
Показуйте лише останні записи у журналі та постійно друкуйте нові записи, коли вони додаються до журналу.
Тут я додав "ім'я служби", щоб відрізнити цю відповідь від інших; ви замінюєте фактичну назву послуги замість тексту service-name
.
Ви можете переслати свої записи в журнал :
systemd-cat tail -f /tmp/myapp.log /var/log/postgresql.log
а потім скористайтеся journalctl -f
... хоча, як згадував Марк, це надрукує всі записи журналу.
Один із способів відфільтрувати лише повідомлення з тих журналів і з цього конкретного підрозділу - це використовувати чітке, SYSLOG_IDENTIFIER
тобто редагувати файл одиниці, а під [Service]
розділом додати напр.
SyslogIdentifier=my_stuff
перезавантажте пристрій, а потім запустіть systemd-cat
з тим самим ідентифікатором
systemd-cat -t my_stuff tail -f /tmp/myapp.log /var/log/postgresql.log
і, нарешті, запитувати журнал лише для цього конкретного ідентифікатора:
journalctl -f -t my_stuff
Якщо у вас є bash, ви можете використовувати підстановку процесу як один з tail
параметрів:
tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log <(journalctl -f)
pgpool.service
, спробуйте journalctl -fu pgpool.service
. Крім того, якщо ви не запускаєте це як root, переконайтеся, що користувач знаходиться в systemd-journal
групі!