printk等級(jí)
路徑:include/linux/kern_levels.h
#define KERN_EMERG KERN_SOH "0" /* 最高輸出等級(jí),系統(tǒng)可能處于不可用的狀態(tài) */
#define KERN_ALERT KERN_SOH "1" /* 緊急和理科需要處理的輸出 */
#define KERN_CRIT KERN_SOH "2" /* 緊急情況 */
#define KERN_ERR KERN_SOH "3" /* 發(fā)生錯(cuò)誤的情況 */
#define KERN_WARNING KERN_SOH "4" /* 警告 */
#define KERN_NOTICE KERN_SOH "5" /* 重要的提示 */
#define KERN_INFO KERN_SOH "6" /* 提示信息 */
#define KERN_DEBUG KERN_SOH "7" /* 調(diào)試輸出 */
Linux內(nèi)核為printk定義了8個(gè)輸出等級(jí),KERN_EMERG
等級(jí)最高,KERN_DEBUG
等級(jí)最低。在配置內(nèi)核時(shí),由一個(gè)宏來(lái)設(shè)置系統(tǒng)默認(rèn)的輸出等級(jí)CONFIG_MESSAGE_LOGLEVEL_DEFAULT
,通常這個(gè)默認(rèn)輸出等級(jí)為4
,因此只有輸出等級(jí)高于4時(shí)才會(huì)輸出到終端或者串口,即只有KERN_EMERG~KERN_ERR滿足這個(gè)條件。
通常在產(chǎn)品開(kāi)發(fā)階段,會(huì)把系統(tǒng)默認(rèn)等級(jí)設(shè)置為最低,以便在開(kāi)發(fā)測(cè)試階段可以暴露更多的問(wèn)題和調(diào)試信息,在發(fā)布產(chǎn)品時(shí)再把輸出等級(jí)設(shè)置為0或者4 。
修改printk等級(jí)
# cat /proc/sys/kernel/printk //printk默認(rèn)有4個(gè)等級(jí)
7 4 1 7
四個(gè)數(shù)字分表代表:
控制臺(tái)輸出等級(jí)
默認(rèn)消息等級(jí)
最低輸出等級(jí)
默認(rèn)控制臺(tái)輸出等級(jí)
在系統(tǒng)運(yùn)行時(shí),我們也可以修改系統(tǒng)的輸出等級(jí)。打開(kāi)所有的內(nèi)核輸出:
echo 8 > /proc/sys/kernel/printk //打開(kāi)所有的內(nèi)核輸出
另外,還可以通過(guò)在啟動(dòng)內(nèi)核時(shí)傳遞commandline
給內(nèi)核的方法來(lái)修改系統(tǒng)默認(rèn)的輸出等級(jí)。例如,使用uboot引導(dǎo)內(nèi)核時(shí),可以在uboot傳參的bootargs
參數(shù)上,加上“loglevel=8
”,這樣在系統(tǒng)啟動(dòng)時(shí),就打開(kāi)了所有內(nèi)核輸出。
-
內(nèi)核
+關(guān)注
關(guān)注
3文章
1372瀏覽量
40290 -
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209520 -
系統(tǒng)
+關(guān)注
關(guān)注
1文章
1017瀏覽量
21347
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論