内核的printk调试信息输出级别怎么设置?
printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
如上,想输出内核带的所有printk信息,可以在编译内核的时候设置吗,设置menuconfig的什么参数?从KERN_INFO到KERN_EMERG的所有信息都要输出。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
修改DEFAULT_CONSOLE_LOGLEVEL这个值看看
之前修改了一下,不起作用,用了一个比较治标的办法,把其它调试级别全部重新define成INFO级别,所有信息都输出到console上了。
默认是输出WARN级别以上的消息,比如EMERG....
优先级低于WARN的INFO是不会被输出的。
更改/proc/.../printk这个配置文件也没有用。
我一般是将消息级别重新定义成WARN。或者取消消息级别。
回复 3# 李牛-克斯
通过设置 printk 的 proc 文件应该就可以。
上面的是缺省的。可以根据实际情况修改。
dmesg -n 8 可以吗?
不行。
下面是模块的初始化代码:
复制代码输出结果:
[root@localhost]# dmesg
warn: message.
[root@localhost]# sysctl -a | grep printk
kernel.printk = 8 4 1 7
kernel.printk_ratelimit = 5
kernel.printk_ratelimit_burst = 10
kernel.printk_delay = 0
回复 5# Godbach