码迷,mamicode.com
首页 > 系统相关 > 详细

【Linux-驱动】printk的打印级别

时间:2017-03-21 21:52:18      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:int   deb   范围   print   预处理器   lin   define   dmesg   字符   

级别:
日志级别用宏表示,日志级别宏展开为一个字符串,在编译是由预处理器将它和消息
本文拼接成一个字符串,因此printk函数中日志级别宏和格式字符串间不能有逗号。
printk的日志级别定义在 /include/linux/kernel.h 中:

#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,其定义列出如下(在/kernel/printk.c中):

#define DEFAULT_MESSAGE_LOGLEVEL  4

当printk语句采用的级别高于4时(该宏表示的数字小于4)将在终端打印。
通过如下命令可以让所有打印输出到终端:

echo 8 > /proc/sys/kernel/printk

dmesg命令 通过查看/proc/kmsg文件可以打印所有的内核信息

【Linux-驱动】printk的打印级别

标签:int   deb   范围   print   预处理器   lin   define   dmesg   字符   

原文地址:http://www.cnblogs.com/jamesharden/p/6596843.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!