printk()函数和printf()函数的主要区别是前者可以指定一个记录级别,内核根据这个级别来判断是否在终端上打印消息。
可供使用的记录等级有7个,从KERN_EMERG(定义为"<0>")到KERN_DEBUG(定义为"<7>")。
如:printk(KERN_WARNING "This is a warning\n");
如果你不对printk()函数指定一个记录等级,内核会选择默认的记录等级DEFAULT_MESSAGE_LOGLEVEL。
当前终端也有一个记录等级console_loglevel。内核会打印出记录等级比当前console_loglevel小(等级更高)的消息。
记录等级定义在文件中。
阅读(1521) | 评论(0) | 转发(0) |