在 nginx 中,日志级别是通过 error_log 指令来设置的,主要分为 错误日志级别。下面给你一个完整说明。
nginx 的日志级别(从低到高,信息量从多到少):
| 级别 | 说明 |
|---|---|
debug |
调试信息(最详细,需编译时开启 --with-debug) |
info |
一般信息 |
notice |
需要注意的信息 |
warn |
警告信息 |
error |
错误信息(默认级别) |
crit |
严重问题 |
alert |
必须立即处理 |
emerg |
系统不可用 |
✅ 生产环境一般使用 error 或 warn
语法:
error_log 文件路径 级别;
error_log /var/log/nginx/error.log error;
或:
error_log logs/error.log warn;
在 nginx.conf 的 main 块:
error_log /var/log/nginx/error.log error;
server {
listen 80;
server_name example.com;
error_log /var/log/nginx/example_error.log warn;
}
location /api/ {
error_log /var/log/nginx/api_error.log debug;
}
❌ access_log 没有级别
access_log 只控制:
示例:
access_log /var/log/nginx/access.log main;
debug 日志 非常详细,性能影响大,默认 nginx 可能不支持。
nginx -V 2>&1 | grep debug
如果没有 --with-debug,需要重新编译 nginx。
error_log /var/log/nginx/error.log debug;
调试完一定要改回来 ❗
error_log /var/log/nginx/error.log error;
access_log /var/log/nginx/access.log main;
修改后执行:
nginx -t
nginx -s reload
如果你愿意,可以告诉我:
我可以帮你给出最合适的日志配置方案。