printk等級
路徑:include/linux/kern_levels.h
#define KERN_EMERG KERN_SOH "0" /* 最高輸出等級,系統可能處于不可用的狀態 */
#define KERN_ALERT KERN_SOH "1" /* 緊急和理科需要處理的輸出 */
#define KERN_CRIT KERN_SOH "2" /* 緊急情況 */
#define KERN_ERR KERN_SOH "3" /* 發生錯誤的情況 */
#define KERN_WARNING KERN_SOH "4" /* 警告 */
#define KERN_NOTICE KERN_SOH "5" /* 重要的提示 */
#define KERN_INFO KERN_SOH "6" /* 提示信息 */
#define KERN_DEBUG KERN_SOH "7" /* 調試輸出 */
Linux內核為printk定義了8個輸出等級,KERN_EMERG
等級最高,KERN_DEBUG
等級最低。在配置內核時,由一個宏來設置系統默認的輸出等級CONFIG_MESSAGE_LOGLEVEL_DEFAULT
,通常這個默認輸出等級為4
,因此只有輸出等級高于4時才會輸出到終端或者串口,即只有KERN_EMERG~KERN_ERR滿足這個條件。
通常在產品開發階段,會把系統默認等級設置為最低,以便在開發測試階段可以暴露更多的問題和調試信息,在發布產品時再把輸出等級設置為0或者4 。
修改printk等級
# cat /proc/sys/kernel/printk //printk默認有4個等級
7 4 1 7
四個數字分表代表:
控制臺輸出等級
默認消息等級
最低輸出等級
默認控制臺輸出等級
在系統運行時,我們也可以修改系統的輸出等級。打開所有的內核輸出:
echo 8 > /proc/sys/kernel/printk //打開所有的內核輸出
另外,還可以通過在啟動內核時傳遞commandline
給內核的方法來修改系統默認的輸出等級。例如,使用uboot引導內核時,可以在uboot傳參的bootargs
參數上,加上“loglevel=8
”,這樣在系統啟動時,就打開了所有內核輸出。
-
內核
+關注
關注
3文章
1383瀏覽量
40434 -
Linux
+關注
關注
87文章
11350瀏覽量
210456 -
系統
+關注
關注
1文章
1020瀏覽量
21436
發布評論請先 登錄
相關推薦
Linux內核學習筆記:動態輸出調試
![<b class='flag-5'>Linux</b><b class='flag-5'>內核</b>學習筆記:動態輸出調試](https://file1.elecfans.com/web2/M00/89/13/wKgaomR4Ra-AbTCcAAAbpp9i1oo277.jpg)
Linux內核調試方法的總結
Linux內核3.5開發,一起了解一下
linux內核打印函數printk的方法
迅為RK3399開發板Android 系統--打印級別設置(printk日志等級設置)
基于ARM9和NANDFlash對uboot和Linux內核進行修改
![基于ARM9和NANDFlash對uboot和<b class='flag-5'>Linux</b><b class='flag-5'>內核</b>進行<b class='flag-5'>修改</b>](https://file1.elecfans.com//web2/M00/A7/35/wKgZomUMQwWAEiAlAAANXgJGR0Y995.jpg)
評論