Skip to content

Linux 學習筆記 - Journalctl

Intro

Systemd 裡,除了用來操作服務的 systemctl 指令,另外還有一個 journalctl 指令,能夠用各種方式查看服務執行的日誌。也就是說,這對於除錯也是很有幫助的。

journalctl 指令

Journalctl 指令的結構如下:

bash
$ journalctl <條件篩>

所有日誌

bash
// 顯示所有日誌(從最早的紀錄開始)
$ journalctl

// 反轉日誌的輸出順序(從最新的紀錄開始)
$ journalctl -r
//
$ journalctl --reverse

// 根據時間顯示日誌
$ journalctl -S -U
//
$ journalctl --since= --until=

追蹤日誌

bash
// 顯示最新的日誌,並不斷顯示新產生的日誌
$ journalctl -f
//
$ journalctl --follow

控制日誌格式

參數備註
short預設值,每條日誌佔一行
verbose以結構化的格式顯示日誌
json將日誌 json 化,每條日誌佔一行
json-pretty將日誌 json 化,以人方便閱讀的方式排列
cat顯示日誌內容,不包含任何數據
bash
// 控制日誌顯示的格式
$ journalctl -o <格式選>
//
$ journalctl --output=<格式選項>

以重要性顯示日誌

參數備註
0emerg
1alert
2crit
3err
4warning
5notice
6info
7debug
bash
// 根據重要性等級顯示日誌
$ journalctl -p
//
$ journalctl --priority=<等級範圍>

分頁功能

bash
// 在分頁中跳到日誌的底部
$ journalctl -e
//
$ journalctl --pager-end

// 不要分頁顯示日誌
$ journalctl --no-pager