消息打印级别:
#define KERN_EMERG "<0>" /* system is unusable */
#define KERN_ALERT "<1>" /* action must be taken immediately */
#define KERN_CRIT "<2>" /* critical conditions */
#define KERN_ERR "<3>" /* error conditions */
#define KERN_WARNING "<4>" /* warning conditions */
#define KERN_NOTICE "<5>" /* normal but significant condition */
#define KERN_INFO "<6>" /* informational */
#define KERN_DEBUG "<7>" /* debug-level messages */
|
不同级别用不同宏表示,宏表示的数字越小,级别越高。
日志级别的范围是0~7,没有指定日志级别的printk语句默认采用的级别是 DEFAULT_ MESSAGE_LOGLEVEL,其定义列出如下(在linux26/kernel/printk.c中):
#define DEFAULT_MESSAGE_LOGLEVEL 4
|
printk输出跟输出的日志级别有关系。当输出日志级别比控制台的级别高时, 就会显示在控制台上;当比控制台低时,则会记录在/var/log/message中。但是当系统同时运行了klogd和syslogd时,都追加到 /var/log/message。
在/proc/sys/kernel/printk文件中,前两个整数为当前的日志级别和默认的日志级别(默认的日志 级别即为printk的输出级别).
注意:需要开启klogd和syslogd服务才能正常输出。通过klogd可以改变系统消息输出级别。
|
/*
*By Neil Zhao (neilchiao at gmail.com)
*转载请注明出处:
*/
nu
阅读(1428) | 评论(0) | 转发(0) |