Jawaban:
Anda bisa menggunakan:
journalctl -u service-name -f
-f, --follow
Tampilkan hanya entri jurnal terbaru, dan terus-menerus cetak entri baru saat ditambahkan ke jurnal.
Di sini saya telah menambahkan "nama layanan" untuk membedakan jawaban ini dari yang lain; Anda mengganti nama layanan yang sebenarnya dan bukan teks service-name
.
Anda dapat meneruskan entri log Anda ke jurnal :
systemd-cat tail -f /tmp/myapp.log /var/log/postgresql.log
dan kemudian gunakan journalctl -f
... meskipun seperti yang disebutkan Markus, itu akan mencetak semua entri jurnal.
Salah satu cara untuk memfilter hanya pesan dari log tersebut dan dari unit tertentu adalah dengan menggunakan yang berbeda SYSLOG_IDENTIFIER
yaitu mengedit file unit dan di bawah [Service]
bagian tambahkan misalnya
SyslogIdentifier=my_stuff
restart unit kemudian jalankan systemd-cat
dengan pengidentifikasi yang sama
systemd-cat -t my_stuff tail -f /tmp/myapp.log /var/log/postgresql.log
dan akhirnya meminta jurnal hanya untuk pengidentifikasi tertentu:
journalctl -f -t my_stuff
Jika tersedia bash, Anda dapat menggunakan subtitusi proses sebagai salah satu tail
parameter:
tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log <(journalctl -f)
pgpool.service
, coba journalctl -fu pgpool.service
. Juga, jika Anda tidak menjalankan ini sebagai root, pastikan pengguna berada di systemd-journal
grup!