温馨提示×

什么是linux日志级别

小樊
47
2026-09-20 18:39:22
栏目: 智能运维

在 Linux 系统中,“日志级别(Log Level)”用来表示日志信息的重要程度或紧急程度。不同级别用于区分“系统出大事了”和“只是普通记录一下”,方便管理员快速定位问题、控制日志输出量。

下面从 内核日志级别 和 系统/应用日志级别 两个层面说明。


一、Linux 内核日志级别(dmesg / printk)

内核使用数字表示日志级别(数字越小越严重):

级别 数值 名称 说明
0 emerg 系统不可用 内核崩溃级别
1 alert 必须立即处理 严重错误
2 crit 临界状态 硬件/软件严重问题
3 err 错误 一般性错误
4 warn 警告 可能出问题
5 notice 注意 正常但重要
6 info 信息 普通信息
7 debug 调试 调试信息

示例:

dmesg -l err,warn

只显示错误和警告级别内核日志。


二、系统日志级别(rsyslog / syslog)

在 /etc/rsyslog.conf 中常见日志级别(由高到低):

emerg
alert
crit
err
warning
notice
info
debug

示例:

*.info;mail.none;authpriv.none /var/log/messages

含义:

  • *:所有服务
  • info:记录 info 及以上级别
  • mail.none:不记录 mail 的 info

三、应用日志级别(常见约定)

很多服务(如 Nginx、Java、Python)使用类似级别:

FATAL / EMERG
ERROR
WARN
INFO
DEBUG
TRACE

示例(Nginx):

error_log /var/log/nginx/error.log warn;

只记录 warn 及以上错误。


四、日志级别的作用

  1. 控制日志量

    • 生产环境常用 info 或 warn
    • 调试时用 debug
  2. 快速定位问题

    • err/crit:必须看
    • debug:排查细节
  3. 避免磁盘被日志写满

    • 级别越低,日志越多

五、常用查看命令

# 查看内核日志
dmesg

# 实时查看系统日志
tail -f /var/log/messages

# journalctl 按级别
journalctl -p err

如果你愿意,我可以:

  • 帮你配置 rsyslog 日志级别
  • 解释 systemd / journalctl 日志级别
  • 对比 Linux vs 编程语言日志级别

你更想了解哪一块?

0 踩