在 Nginx 中,日志级别主要通过 error_log 指令来控制(Nginx 没有像 access_log 那样细的“级别”,access_log 只有是否记录,不分级)。
Nginx 的 error_log 支持以下级别(从低到高):
debug
info
notice
warn
error
crit
alert
emerg
规则:
warn,会记录 warn / error / crit / alert / emergerror_log /var/log/nginx/error.log warn;
常见配置示例:
error_log /var/log/nginx/error.log error;
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 级别需要 Nginx 编译时支持 --with-debug
查看是否支持:
nginx -V 2>&1 | grep -- '--with-debug'
如果支持,可使用:
error_log /var/log/nginx/error.log debug;
否则 debug 不生效。
access_log 没有级别概念,只有:
access_log off;
# 或
access_log /var/log/nginx/access.log;
可以通过 log_format 控制记录内容,但不能调“级别”。
| 场景 | 建议级别 |
|---|---|
| 生产环境 | error 或 warn |
| 排错阶段 | info / debug |
| 高并发 | error(避免 IO 压力) |
nginx -t
nginx -s reload
如果你愿意,可以告诉我:
我可以给你更精确的建议。