我有一個正在運行的 systemd 單元,我想追蹤它的日誌。
我知道我可以使用以下方式顯示單位日誌:
journalctl -u my_unit.service
但這僅打印當前日誌而不跟踪它們。
我知道我還可以systemd
使用以下方式追蹤日誌:
journalctl -f
但這會透過追蹤所有已知日誌來發送垃圾郵件,因此我必須搜尋我感興趣的內容。
臨時解決方案似乎是透過管道追蹤日誌以 grep 過濾輸出,但這不是非常系統化的解決方案:
journalctl -f | grep "what i'm interested in"
沒有追蹤某個單位日誌的命令嗎?
我嘗試過但沒有成功:
journalctl -uf my_unit.service
答案1
我發現我使用參數的順序不正確。實際上可以透過使用以下方式追蹤單一單元的日誌:
journalctl -fu my_unit.service
其他工作變化:
journalctl -f -u my_unit.service
journalctl -u my_unit.service -f
從journalctl
手動的:
-u
,--unit=UNIT|PATTERN
顯示指定 systemd 單元的訊息
UNIT
(例如服務單位),或任何與PATTERN
。如果指定了模式,則會將日誌中找到的單位名稱清單與指定的模式進行比較,並使用所有符合的內容。對於每個單元名稱,都會新增來自該單元的訊息的符合項目 (" "),以及來自 systemd 的訊息和有關指定單元的核心轉儲的訊息的附加符合項目。_SYSTEMD_UNIT=UNIT
此參數可以指定多次。
-f, --follow
僅顯示最新的日記條目,並在新條目附加到日記時連續列印它們。