1. 控制台的日志優先級
#define KERN_EMERG "<0>"
#define KERN_ALERT "<1>"
#define KERN_CRIT "<2>"
#define KERN_ERR "<3>"
#define KERN_WARNING "<4>"
#define KERN_NOTICE "<5>"
#define KERN_INFO "<6>"
#define KERN_DEBUG "<7>"
printk函數中能夠指定優先級,假如printk沒有指定優先級,采用預設優先級,DEFAULT_MESSAGE_LEVEL 4,y也可以是上述優先級中的;
預設的console_loglevel值是DEFAULT_CONSOLE_LOGLEVEL 7。
當printk指定的優先級(DEFAULT_MESSAGE_LEVEL 4)小于指定的控制台優先級console_logleve(DEFAULT_CONSOLE_LOGLEVEL 7)時,調試消息就顯示在控制台虛拟終端
2. 檢視日志等級資訊
通過讀寫/proc/sys/kernel/printk檔案來讀取控制台的日志資訊;
[[email protected] /]# cat /proc/sys/kernel/printk
4 4 1 7
(1) 控制台日志級别:優先級高于該值的消息将被列印至控制台。
(2) 預設的消息日志級别:将用該值來列印沒有優先級的消息。
(3) 最低的控制台日志級别:控制台日志級别可能被設定的最小值。
(4) 預設的控制台:控制台日志級别的預設值。
3. 設定日志等級資訊
根據第2小節的描述,隻需設定第一個值既可以,例如:
[[email protected] /]# echo 5 >/proc/sys/kernel/printk
[[email protected] /]# cat /proc/sys/kernel/printk
5 4 1 7
[[email protected] /]#
4. 設定列印速度
設定速度的典型調用。:
if (printk_ratelimit())
printk(…………);
通過修改/proc/sys/kernel/printk_ratelimit設定重新列印消息之前應該等待的秒數,預設為5;
通過修改/proc/sys/kernel/printk_ratelimit_burst設定進行速度限制之前可以接收的消息數,預設為10;