温馨提示×

nginx日志级别怎么调整

小樊
60
2026-09-26 19:49:38
栏目: 编程语言

在 Nginx 中,日志级别主要通过 error_log 指令来控制(Nginx 没有像 access_log 那样细的“级别”,access_log 只有是否记录,不分级)。


一、Nginx 日志级别说明

Nginx 的 error_log 支持以下级别(从低到高):

debug
info
notice
warn
error
crit
alert
emerg

规则:

  • 设置的级别,会记录该级别及更严重的日志
  • 例如设置 warn,会记录 warn / error / crit / alert / emerg

二、调整错误日志级别

1️⃣ 全局配置(nginx.conf)

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

常见配置示例:

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

2️⃣ 针对某个 server 或 location 调整

server {
    listen 80;
    server_name example.com;

    error_log /var/log/nginx/example.error.log debug;
}

或:

location /api/ {
    error_log /var/log/nginx/api.error.log info;
}

三、开启 debug 日志(重要)

⚠️ debug 级别需要 Nginx 编译时支持 --with-debug

查看是否支持:

nginx -V 2>&1 | grep -- '--with-debug'

如果支持,可使用:

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

否则 debug 不生效。


四、访问日志(access_log)说明

access_log 没有级别概念,只有:

access_log off;
# 或
access_log /var/log/nginx/access.log;

可以通过 log_format 控制记录内容,但不能调“级别”。


五、常用推荐配置

场景 建议级别
生产环境 error 或 warn
排错阶段 info / debug
高并发 error(避免 IO 压力)

六、修改后重载 Nginx

nginx -t
nginx -s reload

如果你愿意,可以告诉我:

  • 你是 排查问题 还是 减少日志量
  • 用的 Nginx 版本 / 操作系统

我可以给你更精确的建议。

0 踩