温馨提示×

linux日志级别怎么调整

小樊
38
2026-10-14 06:14:02
栏目: 智能运维

在 Linux 中,“日志级别”通常涉及 内核日志级别(kernel log level) 和 用户态日志系统(如 syslog / rsyslog / journald) 两方面。下面分别说明。


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

1. 查看当前内核日志级别

cat /proc/sys/kernel/printk

输出示例:

4       4       1       7

含义依次为:

  • console_loglevel:控制台显示的级别
  • default_message_loglevel
  • minimum_console_loglevel
  • default_console_loglevel

级别数值越小越重要(0 最重要):

0 EMERG
1 ALERT
2 CRIT
3 ERR
4 WARNING
5 NOTICE
6 INFO
7 DEBUG

2. 临时调整内核日志级别

# 只显示 WARNING 及以上(4)
echo 4 > /proc/sys/kernel/printk

# 显示所有日志(含 DEBUG)
echo 7 > /proc/sys/kernel/printk

# 不显示任何内核日志
echo 0 > /proc/sys/kernel/printk

或使用 dmesg:

dmesg -n 4

3. 永久调整(重启生效)

编辑 /etc/sysctl.conf 或 /etc/sysctl.d/*.conf:

kernel.printk = 4 4 1 7

然后执行:

sysctl -p

二、使用 syslog / rsyslog 调整日志级别

1. 查看/修改 rsyslog 配置

配置文件通常在:

/etc/rsyslog.conf
/etc/rsyslog.d/*.conf

示例(只记录 err 及以上):

*.err   /var/log/messages

日志级别(从高到低):

emerg
alert
crit
err
warning
notice
info
debug

也可按服务控制,例如:

auth.info   /var/log/auth.log
kern.warning /var/log/kern.log

修改后重启:

systemctl restart rsyslog

三、systemd-journald 日志级别(journalctl)

1. 查看指定级别日志

journalctl -p err
journalctl -p warning

优先级:

0 emerg
1 alert
2 crit
3 err
4 warning
5 notice
6 info
7 debug

2. 调整 journald 最大日志级别

编辑:

/etc/systemd/journald.conf

示例:

MaxLevelStore=info
MaxLevelSyslog=info

重启:

systemctl restart systemd-journald

四、应用自身日志级别(常见示例)

很多服务有独立日志级别:

  • Nginx
error_log /var/log/nginx/error.log warn;
  • SSH
# /etc/ssh/sshd_config
LogLevel INFO
  • Docker
{
  "log-level": "warn"
}

总结

场景 调整方式
内核日志 /proc/sys/kernel/printk 或 dmesg -n
系统日志 rsyslog / syslog 配置
systemd journalctl -p + journald.conf
应用日志 各服务配置文件

如果你能说明 具体是哪种日志(内核 / 系统 / 某个服务),我可以给你更精确的命令。

0 踩