linux核心通過 printk() 輸出的資訊具有日誌級別,核心中共提供了八種不同的日誌級別,
在 linux/kernel.h 中有相應的巨集對應。
#define kern_emerg "<0>" /* system is unusable */
#define kern_alert "<1>" /* action must be taken immediately */
#define kern_crit "<2>" /* critical conditions */
#define kern_err "<3>" /* error conditions */
#define kern_warning "<4>" /* warning conditions */
#define kern_notice "<5>" /* normal but significant */
#define kern_info "<6>" /* informational */
#define kern_debug "<7>" /* debug-level messages */
通過讀寫/proc/sys/kernel/printk檔案可以讀取、修改控制台的日誌級別。
檢視這個檔案:
cat /proc/sys/kernel/printk
上面顯示的數字:6、7、1、6分別對應控制台日誌級別、預設的訊息日誌級別、最低的控制台日
志級別和預設的控制台日誌級別。
下面介紹一下linux下日誌管理,linux下的日誌採用先分類,然後在每個類別下分級的管理模式。
主要的七種日誌分類:
名稱含義
authpriv
安全認證相關
cron
at和cron定時任務相關
deamon
定時任務相關
kern
核心產生
lpr列印系統產生
郵件系統產生
syslog
日誌服務本身
八種日誌級別(按照由低到高順序排列):
級別含義
debug
排錯資訊
info
正常資訊
notice
稍微要注意的
warn
警告err(error)
錯誤crit(critical)
關鍵的錯誤
alert
警報警惕
emerg(emergence)
緊急突發事件
在rhel6中日誌由系統服務rsyslog進行管理和控制。最小化安裝rhel6後,rsyslog服務預設是開啟的。
chkconfig --list | grep rsyslog
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
配置檔案/etc/rsyslog.conf,管理了日誌列印的相應配置。
若想printk列印到虛擬終端,需配置:
kern.alert -/dev/pts/0
便會將printk列印的訊息輸出到虛擬終端0上。
printk列印等級
預設等級 cat proc sys kernel printk 7 4 1 7 一次性修改等級 echo 5 4 1 7 proc sys kernel printk 例子 假設當 proc sys kernel printk 中的列印等級為 4 4 1 7時 printk kern emerg k...
更改printk列印級別
1 檢視當前控制台的列印級別 cat proc sys kernel printk 4 4 1 7 其中第乙個 4 表示核心列印函式printk的列印級別,只有級別比他高的資訊才能在控制台上列印出來,既 0 3級別的資訊 2 修改列印 echo 新的列印級別 4 1 7 proc sys kerne...
更改printk列印級別
1 檢視當前控制台的列印級別 cat proc sys kernel printk 4 4 1 7 其中第乙個 4 表示核心列印函式printk的列印級別,只有級別比他高的資訊才能在控制台上列印出來,既 0 3級別的資訊 2 修改列印 echo 新的列印級別 4 1 7 proc sys kerne...