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

日志级别一共有8个级别,printk的日志级别定义如下(在include/linux/kernel.h中):  

#define KERN_EMERG 0/*紧急事件消息,系统崩溃之前提示,表示系统不可用*/  

#define KERN_ALERT 1/*报告消息,表示必须立即采取措施*/  

#define KERN_CRIT 2/*临界条件,通常涉及严重的硬件或软件操作失败*/  

#define KERN_ERR 3/*错误条件,驱动程序常用KERN_ERR来报告硬件的错误*/  

#define KERN_WARNING 4/*警告条件,对可能出现问题的情况进行警告*/  

#define KERN_NOTICE 5/*正常但又重要的条件,用于提醒*/  

#define KERN_INFO 6/*提示信息,如驱动程序启动时,打印硬件信息*/  

#define KERN_DEBUG 7/*调试级别的消息*/


没有指定日志级别的printk语句默认采用的级别是:DEFAULT_ MESSAGE_LOGLEVEL(这个默认级别一般为<4>,即与KERN_WARNING在一个级别上),其定义在kernel/printk.c中可以找到:

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


你可能感兴趣的:(System,action)