在使用 Ubuntu 或其他 Linux 系统时,理解 Ubuntu日志级别 和 syslog优先级 是排查系统问题、监控服务状态的关键技能。本文将手把手教你如何查看、理解和配置日志级别,即使是 Linux 新手也能轻松上手!
什么是日志级别?
日志级别(Log Level)用于表示一条日志消息的重要程度。Ubuntu 使用
syslog协议来记录系统日志,它定义了 8 个标准日志级别,从最不紧急到最紧急依次为:
Ubuntu 默认使用 rsyslog
现代 Ubuntu 系统默认使用
rsyslog作为日志服务守护进程。它基于 syslog 协议,并支持更灵活的过滤和转发规则。了解 rsyslog配置 是管理日志的核心。
查看当前日志
你可以使用以下命令实时查看系统日志:
rsyslog 的主配置文件位于 # 查看所有日志sudo tail -f /var/log/syslog# 只查看错误及以上级别的日志sudo grep -E "(err|crit|alert|emerg)" /var/log/syslog 配置 rsyslog 规则
/etc/rsyslog.conf
,自定义规则通常放在 /etc/rsyslog.d/
目录下。
例如,我们想把所有
warning及以上的日志单独写入一个文件:
这里的 # 创建新配置文件sudo nano /etc/rsyslog.d/50-mail-warnings.conf# 添加以下内容:mail.warning /var/log/mail-warnings.log# 重启 rsyslog 服务sudo systemctl restart rsyslog mail.warning
表示:记录 mail 设施中 warning、err、crit、alert、emerg 级别的日志(因为 warning 数值为 4,所以会包含所有数值 ≤4 的级别)。
日志优先级是如何工作的?
在 syslog 中,每条日志都有两个属性:
设施(Facility):表示日志来源(如 auth、cron、kern、mail 等) 优先级(Priority):即我们上面说的日志级别当 rsyslog 收到一条日志,它会根据配置文件中的规则判断是否记录。规则格式通常是:
例如:facility.priority destination kern.* /var/log/kernel.log
表示记录所有来自内核(kern)的日志。
实用技巧:动态调整日志级别
某些服务(如 systemd 服务)支持运行时调整日志级别。例如,查看当前 systemd 日志级别:
掌握 Ubuntu日志级别、syslog优先级 以及 rsyslog配置,能让你更高效地监控和维护 Linux系统日志。通过合理设置日志规则,你不仅可以减少磁盘占用,还能快速定位关键问题。 建议初学者先从查看 # 查看 systemd 日志级别systemctl show --property=LogLevel# 临时提高日志级别(例如设为 debug)sudo systemctl set-log-level debug 总结
/var/log/syslog
开始,逐步尝试编写简单的 rsyslog 规则。随着经验积累,你会发现日志是系统管理员最忠实的“助手”。
提示:修改日志配置前,建议先备份原文件,避免配置错误导致日志丢失。
