小编Jit*_*esh的帖子

printk loglevel在模块编程中的用法

Rubini的LDD3一书中,printk作者说,我们可以为我们的消息提供日志级别/优先级.但我尝试使用一个简单的模块程序,它具有不同的日志级别的printks,但它显示了我在程序中写入printk消息的相同顺序,为什么它不按优先级打印?

我在这里复制了代码

  #include<linux/module.h>
  #include<linux/kernel.h>
  static __init int log_init(void)
     {
         printk(KERN_INFO"inside init 4 \n");
         printk(KERN_ERR"inside init 3\n");
         printk(KERN_CRIT"inside init 2\n");

         return 0;
     }
  static __exit void log_exit(void)
    {
        printk("inside exit\n");
    }
  module_init(log_init);
  module_exit(log_exit);

  MODULE_LICENSE("GPL");
Run Code Online (Sandbox Code Playgroud)

我得到如下输出

[ 1508.721441] inside init 4 
[ 1508.721448] inside init 3
[ 1508.721454] inside init 2
root@jitesh-desktop:~/DD/debug/print#
Run Code Online (Sandbox Code Playgroud)

所以我如何按照优先级打印它

init 2
init 3
init 4
Run Code Online (Sandbox Code Playgroud)

linux linux-device-driver linux-kernel printk

4
推荐指数
1
解决办法
2594
查看次数

标签 统计

linux ×1

linux-device-driver ×1

linux-kernel ×1

printk ×1