您的位置:首页 > 其它

kernel printk信息显示级别

2015-09-21 00:05 190 查看
涉及文件:kernel/printk.c include/linux/kernel.h

用printk内核会根据日志级别把消息打印到当前控制台上。

信息正常输出前提是--日志输出级别小于控制台级别,

内核中数字越小优先级越高。

没有指定日志级别的printk默认级别是DEFAULT_MESSAGE_LOGLEVEL,

默认级别一般为4,与KERN_WARNING一级别。

在kernel/printk.c中定义:

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

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

69 int console_printk[4] = {
70 DEFAULT_CONSOLE_LOGLEVEL, /* console_loglevel */
71 DEFAULT_MESSAGE_LOGLEVEL, /* default_message_loglevel */
72 MINIMUM_CONSOLE_LOGLEVEL, /* minimum_console_loglevel */
73 DEFAULT_CONSOLE_LOGLEVEL, /* default_console_loglevel */
74 };

日志级别一共有8级,定义于include/linux/kernel.c中

102 #define KERN_EMERG "<0>" /* system is unusable */
103 #define KERN_ALERT "<1>" /* action must be taken immediately */
104 #define KERN_CRIT "<2>" /* critical conditions */
105 #define KERN_ERR "<3>" /* error conditions */
106 #define KERN_WARNING "<4>" /* warning conditions */
107 #define KERN_NOTICE "<5>" /* normal but significant condition */
108 #define KERN_INFO "<6>" /* informational */
109 #define KERN_DEBUG "<7>" /* debug-level messages */

111 /* Use the default kernel loglevel */
112 #define KERN_DEFAULT "<d>"
118 #define KERN_CONT "<c>"
119
120 extern int console_printk[];
121
122 #define console_loglevel (console_printk[0])
123 #define default_message_loglevel (console_printk[1])
124 #define minimum_console_loglevel (console_printk[2])
125 #define default_console_loglevel (console_printk[3])

------------------------------------------------------------------------------------------
其实printk始终是输出信息的,用户区/var/log/messages,

内核态/proc/kmsg(klogd没运行,消息不会到用户区)。

读写/proc/sys/kernel/printk可读取或修改控制台日志级别。

#cat /proc/sys/kernel/printk

6  4  1  7

==>控制台日志级别,默认消息日志级别,最低的控制台日志级别,默认的控制台日志级别。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: