printk打印等级
时间: 2023-06-21 12:19:13 浏览: 126
linux内核驱动调试方法1
在 Linux 内核中,有多种不同的 printk() 打印等级(log level)可用于在日志中标识不同类型的消息,每个打印等级都有一个与之关联的数字值。这些打印等级及其对应的数字值如下:
- KERN_EMERG (0): 紧急情况,例如系统崩溃
- KERN_ALERT (1): 需要立即采取行动,例如硬件故障
- KERN_CRIT (2): 严重错误,可能导致系统故障
- KERN_ERR (3): 错误消息,但不会导致系统崩溃
- KERN_WARNING (4): 警告消息,例如硬件故障可能导致错误
- KERN_NOTICE (5): 通知消息,例如网络连接的建立和断开
- KERN_INFO (6): 信息消息,例如模块加载和卸载
- KERN_DEBUG (7): 调试消息,仅用于调试目的
在使用 printk() 函数时,可以通过在消息字符串前加上打印等级的前缀来指定消息的打印等级。例如,使用 KERN_ERR 打印等级打印一个错误消息可以这样做:
```
printk(KERN_ERR "Error message\n");
```
需要注意的是,内核可以通过设置日志级别(log level)来控制哪些类型的消息将被打印。只有打印等级大于或等于当前日志级别的消息才会被打印出来。可以通过 /proc/sys/kernel/printk 文件来设置日志级别。例如,将日志级别设置为 3 将只打印错误消息和更严重的消息。
阅读全文