Câu trả lời:
Bạn đã có thể sử dụng:
journalctl -u service-name -f
-f, - theo dõi
Chỉ hiển thị các mục tạp chí gần đây nhất và liên tục in các mục mới khi chúng được thêm vào tạp chí.
Ở đây tôi đã thêm "tên dịch vụ" để phân biệt câu trả lời này với người khác; bạn thay thế tên dịch vụ thực tế thay vì văn bản service-name
.
Bạn có thể chuyển tiếp các mục nhật ký của bạn để tạp chí :
systemd-cat tail -f /tmp/myapp.log /var/log/postgresql.log
và sau đó sử dụng journalctl -f
... mặc dù như Mark đã đề cập, nó sẽ in tất cả các mục tạp chí.
Một cách để chỉ lọc các tin nhắn từ các nhật ký đó và từ đơn vị cụ thể đó là sử dụng một SYSLOG_IDENTIFIER
tệp riêng biệt tức là chỉnh sửa tệp đơn vị và trong [Service]
phần thêm ví dụ:
SyslogIdentifier=my_stuff
khởi động lại thiết bị sau đó chạy systemd-cat
với cùng định danh
systemd-cat -t my_stuff tail -f /tmp/myapp.log /var/log/postgresql.log
và cuối cùng chỉ truy vấn tạp chí cho định danh cụ thể đó:
journalctl -f -t my_stuff
Nếu bạn có sẵn bash, bạn có thể sử dụng thay thế quy trình như một trong các tail
tham số:
tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log <(journalctl -f)
pgpool.service
, hãy thử journalctl -fu pgpool.service
. Ngoài ra, nếu bạn không chạy cái này với quyền root, hãy đảm bảo người dùng nằm trong systemd-journal
nhóm!