gpt4 book ai didi

c - 如何以编程方式更改 dmesg 的日志级别?

转载 作者:太空宇宙 更新时间:2023-11-04 03:56:00 25 4
gpt4 key购买 nike

我想更改 dmesg 的掩码优先级,通过它我只想打印那些优先级最高的消息。那么如何以编程方式更改这些优先级呢?

例如,如果 printk 优先级为 KERN_ALERT 或低于此值,则不会在 dmesg 或控制台中打印任何消息。我只需要 dmesg 中的 KERN_EMERG 消息。

我的 1 个解决方案就是像这样编辑 printk proc 文件 -

echo 0 >/proc/sys/kernel/printk

但是我想要一个Kernel Space API 来做这件事。

我也使用了 setlogmask,但它没有用。

do_syslog 在这里工作吗??

如果是那么怎么办?

我正在编写一个 prog 文件来执行此操作,比如我想通过该 proc 文件更改 dmesg 的日志级别。那么有什么想法可以做到这一点吗?

提前致谢..

最佳答案

有可用的预定义宏。

KERN_EMERG      high priority       low number
KERN_ALERT
KERN_CRIT
KERN_ERR
KERN_WARNING
KERN_NOTICE
KERN_INFO
KERN_DEBUG lo priority hi number

例如

printk(KERN_ALERT "Hello Module...");

引用here用于设置内核日志级别。

关于c - 如何以编程方式更改 dmesg 的日志级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16415905/

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