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
