Appearance
错误日志配置
配置错误日志可以记录错误信息,用于故障排查。
基本配置
默认错误日志
nginx
error_log /var/log/nginx/error.log;指定日志级别
nginx
error_log /var/log/nginx/error.log warn;日志级别
级别说明
debug
- 调试信息
- 仅用于开发环境
info
- 一般信息
- 记录重要事件
notice
- 通知信息
- 记录需要注意的事件
warn
- 警告信息
- 记录潜在问题
error
- 错误信息
- 记录错误事件
crit
- 严重错误
- 记录严重问题
alert
- 警报信息
- 记录需要立即处理的问题
emerg
- 紧急错误
- 记录系统无法继续运行的问题
完整配置
生产环境配置
nginx
error_log /var/log/nginx/error.log warn;
server {
listen 80;
server_name www.example.com;
error_log /var/log/nginx/error.log warn;
root /var/www/html;
}多日志文件
主错误日志
nginx
error_log /var/log/nginx/error.log warn;服务器错误日志
nginx
server {
error_log /var/log/nginx/server_error.log warn;
}Location错误日志
nginx
location /api/ {
error_log /var/log/nginx/api_error.log warn;
}条件错误日志
基于状态码
nginx
map $status $loggable {
~^[5] 1;
default 0;
}
error_log /var/log/nginx/error.log warn if=$loggable;基于响应时间
nginx
map $request_time $loggable {
~^[5-9] 1;
default 0;
}
error_log /var/log/nginx/error.log warn if=$loggable;完整示例
生产环境配置
nginx
error_log /var/log/nginx/error.log warn;
map $status $loggable {
~^[5] 1;
default 0;
}
server {
listen 80;
server_name www.example.com;
error_log /var/log/nginx/server_error.log warn if=$loggable;
root /var/www/html;
location /api/ {
error_log /var/log/nginx/api_error.log warn;
}
}错误日志分析
查看错误
bash
tail -f /var/log/nginx/error.log统计错误
bash
grep "error" /var/log/nginx/error.log | wc -l查看特定错误
bash
grep "connection" /var/log/nginx/error.log常见问题
错误日志过多
原因: 日志级别设置过低
解决: 提高日志级别
nginx
error_log /var/log/nginx/error.log error;错误日志未记录
原因: 日志级别设置过高
解决: 降低日志级别
nginx
error_log /var/log/nginx/error.log debug;总结
错误日志配置的关键点:
- error_log:启用错误日志
- 日志级别:设置合适的日志级别
- 多日志文件:为不同位置设置不同的日志文件
- 条件日志:基于条件记录错误日志
- 日志分析:分析错误日志排查问题
合理配置错误日志,记录错误信息,用于故障排查。