Linux printk的日志級別和pr_debug


1. 查看日志級別

# cat /proc/sys/kernel/printk
7       4       1       7

  四個數值分別表示。

  • 控制台日志級別
  • 默認消息日志級別(未明確指定日志級別的消息)
  • 最小控制台日志級別
  • 默認控制台日志級別

  日志級別的定義在include/linux/kern_levels.h。數值越小,級別越高。當printk的日志級別高於控制台日志級別時,控制台打印日志。

#define KERN_EMERG      KERN_SOH "0"    /* system is unusable */
#define KERN_ALERT      KERN_SOH "1"    /* action must be taken immediately */
#define KERN_CRIT       KERN_SOH "2"    /* critical conditions */
#define KERN_ERR        KERN_SOH "3"    /* error conditions */
#define KERN_WARNING    KERN_SOH "4"    /* warning conditions */
#define KERN_NOTICE     KERN_SOH "5"    /* normal but significant condition */
#define KERN_INFO       KERN_SOH "6"    /* informational */
#define KERN_DEBUG      KERN_SOH "7"    /* debug-level messages */

2. 控制台打印所有級別日志

# echo 8 4 1 7 > /proc/sys/kernel/printk

3. 查看所有級別日志

  除了將日志打印在控制台,還可以通過dmesg命令查看所有級別日志。如果系統配置好了syslogd或klogd,還可以通過/var/log/messages查看所有級別日志。

4. 使能pr_debug

  使能pr_debug可以通過在對應Makefile中增加如下語句實現。

EXTRA_CFLAGS += -DDEBUG

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM