系统日志输出等级
系统定义了8个消息级别:none<debug<info<notice<warning<error<critical<alert<emerg
none:不记录日志
debug:调试信息,系统进行调试时产生的日志,不属于错误日志,不需要过多关注。
info:一般的通知信息,用来反馈系统的当前状态给当前用户。
notice:提醒信息,需要检查一下程序了,不理会可能会出现错误。
warning:警告信息,当出现警告时,你的程序可能已经出现了问题,但不影响程序正常运行,尽快进行处理,以免导致服务宕掉。
error:错误信息,出现这一项时,已经挑明服务出现了问题,服务都无法确认是否能正常运行。
critical:比较严重的错误信息,服务已经宕了,可能已经无法修复。
alert:警报信息,需要立即采取行动,不仅是服务宕了,还会影响系统的正常启动。
emerg:紧急信息,系统可能已经不能使用了,如果不能解决,就重新装机吧。
首先,printk有8个loglevel,定义在<linux/kernel.h>中,其中数值范围从0到7,数值越小,优先级越高。
#define KERN_EMERG "<0>" 系统崩溃
#define KERN_ALERT "<1>" 必须紧急处理
#define KERN_CRIT "<2>" 临界条件,严重的软硬件错误
#define KERN_ERR "<3>" 报告错误
#define KERN_WARNING "<4>" 警告
#define KERN_NOTICE "<5>" 普通但还是须注意
#define KERN_INFO "<6>" 信息
#define KERN_DEBUG "<7>" 调试信息
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
修改日志级别
查看日志级别:
#cat /proc/sys/kernel/printk
2 1 1 2
2 1 1 2分别代表的是:
console_loglevel:控制台日志级别
default_message_loglevel:消息日志级别的默认值
minimum_console_loglevel:控制台日志级别的最小值
default_console_loglevel:控制台日志级别的默认值
修改日志级别:
echo 0 4 1 7 > /proc/sys/kernel/printk