<Linux> Kernel Log

Kernel Log, 可找到定义, 

kernel/printk.c:


/* printk's without a loglevel use this.. */
#define DEFAULT_MESSAGE_LOGLEVEL CONFIG_DEFAULT_MESSAGE_LOGLEVEL

/* We show everything that is MORE important than this.. */
#define MINIMUM_CONSOLE_LOGLEVEL 1 /* Minimum loglevel we let people use */
#define DEFAULT_CONSOLE_LOGLEVEL 7 /* anything MORE serious than KERN_DEBUG */

int console_printk[4] = {
	DEFAULT_CONSOLE_LOGLEVEL,	/* console_loglevel */
	DEFAULT_MESSAGE_LOGLEVEL,	/* default_message_loglevel */
	MINIMUM_CONSOLE_LOGLEVEL,	/* minimum_console_loglevel */
	DEFAULT_CONSOLE_LOGLEVEL,	/* default_console_loglevel */
};

include/linux/kern_level.h:

#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 */


(1) config
在.config中定义 CONFIG_DEFAULT_MESSAGE_LOGLEVEL(0-7)

(2) debug

# cat /proc/sys/kernel/printk

7       4       1      7

-> 对应上面console_printk数组中的值

#echo 8 > /proc/sys/kernel/printk

-> 显示所有LOG, 即高于KERN_DEBUG的.

(3) printk log添加LOGLEVEL

printk(KERN_INFO "...")

printk(KERN_DEBUG "...")


猜你喜欢

转载自blog.csdn.net/meta_cpp/article/details/78085209