在stdout上抑制输出dmesg日志

时间:2013-06-19 11:10:12

标签: linux-device-driver embedded-linux

我的设备驱动程序的输出也落在dmesg中,打印出我的标准输出。有没有办法防止这种情况发生?

2 个答案:

答案 0 :(得分:1)

您可以通过动态调整控制台日志级别来解决问题。

http://tuxthink.blogspot.com/2012/07/printk-and-console-log-level.html

建议您可以通过写入proc节点来执行此操作:

echo "6" > /proc/sys/kernel/printk

在他们的例子中将它设置为6。我怀疑将它设置为0或1会抑制几乎所有非致命的系统

无论此设置如何,日志条目仍应由dmesg检索。

但是,这会影响来自所有来源的邮件。如果要更改自定义驱动程序的行为,请考虑向其传递一个标志,该标志将导致程序逻辑抑制消息生成,或者在较不重要的日志级别生成输出,您可以将控制台设置为忽略,如上所述。

答案 1 :(得分:0)

printk()中有不同级别的打印消息。

请参阅http://www.makelinux.net/ldd3/chp-4-sect-2了解printk()中的不同级别。使用最低的lo​​glevel,它不会在stdout中显示,但可以使用dmesg查看。