gpt4 book ai didi

linux-kernel - 前缀 printk/pr_* 调用

转载 作者:行者123 更新时间:2023-12-02 00:33:58 26 4
gpt4 key购买 nike

我想在我的驱动程序(调试)输出中添加其名称前缀,即 [myDriver] 实际消息。因为每次我想将 printk/pr_* 覆盖为实际上包括 [myDriver] 部分。但是我想不出办法来做到这一点。在最好的情况下,解决方案不会强制我更改代码中的 printk/pr_* 调用(通过更改调用,这变得微不足道)。

这可能吗? (由于我包含了其他 header ,而这些 header 又包含 printk header ,因此它将始终被定义,这排除了不按照不同答案中的建议链接到原始内容的情况)

当前的驱动程序不这样做有什么原因吗? (是否有另一种方法可以通过驱动程序过滤 dmesg?)

我对 dev_dbg 有一定的了解,但我还没有找到任何专门针对一般警告的开发内容,因此我将使用 printk/pr_err那个。

最佳答案

其标准是使用带有 [drivername] 前缀的 pr_{debug,warn,err}()

例如:

 pr_debug("kvm: matched tsc offset for %llu\n", data);

或者您可以使用dev_warn()

例如:

 dev_warn(&adap->dev, "Bus may be unreliable\n");

Is there another way to filter dmesg by driver?

除非您想在加载驱动程序之前运行 dmesg -c 来清除日志,否则不会。它总是重新开始在调试/打印消息中添加驱动程序名称前缀。当您收到客户的日志时,您不想浪费时间手动阅读每一行。

关于linux-kernel - 前缀 printk/pr_* 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27426985/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com