关于linux内核打印级别的应用

来源:互联网 发布:app端口指的是什么 编辑:程序博客网 时间:2024/05/16 17:57
内核打印级别分类:
#define KERN_EMERG     "<0>"
#define KERN_ALERT      "<1>"
#define KERN_CRIT          "<2>"
#define KERN_ERR          "<3>"
#define KERN_WARNING "<4>"
#define KERN_NOTICE    "<5>"
#define KERN_INFO         "<6>"
#define KERN_DEBUG     "<7>"

一般printk的默认级别是DEFAULT_MESSAGE_LOGLEVEL
在printk.c 中可以找到这个宏的定义 #define DEFAULT_MESSAGE_LOGLEVEL 4

当在调试时想查看某种级别的打印或者屏蔽掉某种级别的打印信息,有个更简单的方法:
在/proc/sys/kernel/printk中保存着打印级别的相关信息
我们可以查看一下这个文件中的内容:
#cat /proc/sys/kernel/printk
#4 4 1 7
第一位表示 控制台日志级别:优先级高于该值的消息将被打印至控制台。
第二位表示 缺省的消息日志级别:将用该值来打印没有优先级的消息。
第三位表示 最低的控制台日志级别:控制台日志级别可能被设置的最小值。
第四位表示 缺省的控制台:控制台日志级别的缺省值。

假如我想关闭打印输出,只需要把控制台日志级别调高就好:
# echo 1 4 1 7 > /proc/sys/kernel/printk
或者
# echo 0 4 0 7 > /proc/sys/kernel/printk
原创粉丝点击