日志级别是Linux系统中控制日志信息详细程度的重要机制。合理设置日志级别可以帮助您平衡系统监控需求和资源消耗。
Linux系统通常使用以下几种日志级别(从低到高):
编辑配置文件 /etc/rsyslog.conf
或 /etc/syslog.conf
:
# 示例:设置内核日志级别为warning及以上
kern.warning /var/log/kern.log
# 设置所有日志的info及以上级别
*.info /var/log/messages
查看当前内核日志级别:
cat /proc/sys/kernel/printk
# 输出4个数字,第一个是当前控制台日志级别
临时设置:
echo "6" > /proc/sys/kernel/printk
永久设置(在/etc/sysctl.conf中添加):
kernel.printk = 6 4 1 7
大多数应用程序有自己的日志级别配置,通常在:
- /etc/<应用名>/<应用名>.conf
- /etc/<应用名>/logging.conf
例如Nginx:
error_log /var/log/nginx/error.log warn;
查看当前journald日志级别:
systemctl status systemd-journald
修改配置(/etc/systemd/journald.conf):
[Journal]
Storage=persistent
ForwardToSyslog=yes
MaxLevelStore=info
MaxLevelSyslog=warning
生产环境:通常设置为warning
或err
级别
开发/测试环境:可设置为info
或debug
关键系统:考虑notice
级别
日志轮转:无论设置什么级别,都应配置日志轮转
临时提高日志级别进行故障排查:
# 将内核日志级别临时设置为debug
dmesg -n 7
# 查看当前内核日志级别
dmesg -l
合理设置日志级别是系统运维的重要环节,需要根据实际业务需求和系统资源情况进行权衡。