内核打印等级

摘要:
内核提供了八个不同的日志级别,在linux/kernel中对应相应的宏。h#defineKERN_EMERG“”/*系统可用*/#defineKERN_警报“”/*actionmust立即*/#define KERN_CRIT“”/#关键条件*/#define_KERN_ERR“”/**错误条件*/#defineKERN_WARNING“”/*.warningconditions*/#definE_KERN_NNOTICE“”/“*正常但重要的*/#define KERN_INFO”“/*信息性*/#define-KERN_DEBUG”“/*调试级别消息*/因此printk()可以用于方式:printk(KERN_INFO“您好,world!printk(),不指定日志级别使用的默认级别是default_MESSAGE_LOGLEVEL,此宏在kernel/prink.c中定义为整数4,对应于KERN_WARNING。如果您想在内核启动期间打印更少的信息,可以根据需要修改kernel/pintk.c中的上述值并重新编译!

内核打印日志等级配置存放在/proc/sys/kernel/printk,默认6   4   1   7

内核打印等级第1张

上面显示的4个数据分别对应:

控制台日志级别:优先级高于该值的消息将被打印至控制台

默认的消息日志级别:将用该优先级来打印没有优先级的消息

最低的控制台日志级别:控制台日志级别可被设置的最小值(最高优先级)

默认的控制台日志级别:控制台日志级别的缺省值

数值越小,优先级越高

                其实这四个值是在kernel/printk.c 中被定义的,如下:

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

};

内核通过printk() 输出的信息具有日志级别,日志级别是通过在printk() 输出的字符串前加一个带尖括号的整数来控制的,如printk("<6>Hello, world! ");。内核中共提供了八种不同的日志级别,在 linux/kernel.h 中有相应的宏对应。

#define KERN_EMERG  "<0>"   /* systemis unusable */

#define KERN_ALERT  "<1>"   /* actionmust be taken immediately */

#define KERN_CRIT    "<2>"   /*critical conditions */

#define KERN_ERR     "<3>"   /* errorconditions */

#define KERN_WARNING "<4>"   /* warning conditions */

#define KERN_NOTICE  "<5>"   /* normalbut significant */

#define KERN_INFO    "<6>"   /*informational */

#define KERN_DEBUG   "<7>"   /*debug-level messages */

所以printk() 可以这样用:printk(KERN_INFO"Hello, world! ");。

未指定日志级别的printk() 采用的默认级别是DEFAULT_MESSAGE_LOGLEVEL,这个宏在kernel/printk.c 中被定义为整数4,即对应KERN_WARNING。

如果要想在内核启动过程中打印少的信息,就可以根据自己的需要在kernel/printk.c中修改以上数值,重新编译即可!

/* printk's without a loglevel use this.. */

#define DEFAULT_MESSAGE_LOGLEVEL 4 /* KERN_WARNING */


免责声明:文章转载自《内核打印等级》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python MySQLdb安装和使用Java技术路线图下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java中使用MD5进行加密(转)

   在各种应用系统的开发中,经常需要存储用户信息,很多地方都要存储用户密码,而将用户密码直接存储在服务器上显然是不安全的,本文简要介绍工作中常用的 MD5加密算法,希望能抛砖引玉。(一)消息摘要简介    一个消息摘要就是一个数据块的数字指纹。即对一个任意长度的一个数据块进行计算,产生一个唯一指印(对于SHA1是产生一个20字节的二进制数组)。消息摘要是...

C#编程总结(二)多线程基础

C#编程总结(二)多线程基础 无论您是为具有单个处理器的计算机还是为具有多个处理器的计算机进行开发,您都希望应用程序为用户提供最好的响应性能,即使应用程序当前正在完成其他工作。要使应用程序能够快速响应用户操作,同时在用户事件之间或者甚至在用户事件期间利用处理器,最强大的方式之一是使用多线程技术。 多线程:线程是程序中一个单一的顺序控制流程.在单个程序中同时...

cocos 事件转发

CCDirector在函数setOpenGLView中设置pobOpenGLView,同时会掉用 m_pobOpenGLView->setTouchDelegate(m_pTouchDispatcher);m_pTouchDispatcher被初始化为CCTouchDispatcher事件分发管理器。 CCEGLView继承CCEGLViewProt...

windows下 安装 rabbitMQ 及操作常用命令

rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上。 1.安装Erlang  所以在安装rabbitMQ之前,需要先安装Erlang 。 小编使用的是otp_...

解决来QQ消息后歌曲音量降低问题

今天学了一天,晚上听歌放松一下,谁知碰到了一个很纠结的问题,我正在聊天,每当来QQ消息后,我的歌曲音量自动降低,降到非常小,然后我就调高音量,把音乐的音量调到最大,又把系统音量调到最大,谁知音乐的声音还是很小,鼓捣了一阵,终于找到原因了,在右下角音乐图标点一下,然后点击合成器,就出现下面的界面:看到原因了吧,千千静听的声音比其他三个都低很多,怪不得不管怎么...

xv6 makefile

1. xv6.img的构建 在makefile中 bootblock: bootasm.S bootmain.c $(CC) $(CFLAGS) -fno-pic -O -nostdinc -I. -c bootmain.c $(CC) $(CFLAGS) -fno-pic -nostdinc -I. -c bootasm.S $(...