使用printk记录消息
printk()是Linux内核中最广为人知的函数之一。它是我们打印消息的标准工具,通常也是追踪和调试 的最基本方法。如果你熟悉printf(3),你就能够知道printk()是基于它的,尽管它在功能上有一些不 同之处:
printk() 消息可以指定日志级别。
格式字符串虽然与C99基本兼容,但并不遵循完全相同的规范。它有一些扩展和一些限制(没 有 %n 或浮点转换指定符)。参见:ref: 如何正确地获得printk格式指定符 。
所有的printk()消息都会被打印到内核日志缓冲区,这是一个通过/dev/kmsg输出到用户空间的环 形缓冲区。读取它的通常方法是使用 dmesg 。
printk()的用法通常是这样的:
printk(KERN_INFO "Message: %s\n", arg);
日志等级
eg
printk(KERN_ERR"[%s][%d] drv [%s] dev [%s] \n", __func__, __LINE__, dev_driver_string(dev), dev_name(dev));
参考
https://www.kernel.org/doc/html/next/translations/zh_CN/core-api/printk-basics.html