调试级别

本章节介绍调试日志的级别。

日志级别

级别说明数值适用场景
debug调试信息0调试和故障排查
info一般信息1一般信息记录
notice通知信息2通知信息记录
warn警告信息3警告信息记录
error错误信息4错误信息记录
crit严重错误5严重错误记录
alert需要立即处理6需要立即处理的错误
emerg系统不可用7系统不可用

日志级别原理: 日志级别用于控制日志的详细程度,级别越低,日志越详细。Nginx 会记录指定级别及以上的日志,例如,设置日志级别为 warn,则会记录 warnerrorcritalertemerg 级别的日志,不会记录 debuginfonotice 级别的日志。

配置示例

error_log /var/log/nginx/error.log debug;
error_log /var/log/nginx/error.log info;
error_log /var/log/nginx/error.log warn;
error_log /var/log/nginx/error.log error;
error_log /var/log/nginx/error.log crit;
error_log /var/log/nginx/error.log alert;
error_log /var/log/nginx/error.log emerg;

配置说明

  • debug:记录所有级别的日志,最详细的日志级别
  • info:记录 info 及以上级别的日志
  • warn:记录 warn 及以上级别的日志
  • error:记录 error 及以上级别的日志
  • crit:记录 crit 及以上级别的日志
  • alert:记录 alert 及以上级别的日志
  • emerg:仅记录 emerg 级别的日志,最不详细的日志级别

级别选择

生产环境

推荐级别warnerror

原因

  • 生产环境需要记录错误和警告信息,便于故障排查
  • 不需要记录详细的调试信息,避免占用过多资源

配置示例

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

测试环境

推荐级别infonotice

原因

  • 测试环境需要记录一般信息和通知信息,便于测试和调试
  • 不需要记录详细的调试信息,避免占用过多资源

配置示例

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

调试环境

推荐级别debug

原因

  • 调试环境需要记录详细的调试信息,便于调试和故障排查
  • 调试日志会占用大量的磁盘空间和 I/O 资源,仅用于调试和故障排查

配置示例

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

级别对比

级别详细程度性能影响适用场景
debug最高最大调试和故障排查
info一般信息记录
notice中高中大通知信息记录
warn警告信息记录
error中低中小错误信息记录
crit严重错误记录
alert很低很小需要立即处理的错误
emerg最低最小系统不可用

最佳实践

  1. 根据环境选择级别:根据环境选择合适的日志级别
  2. 生产环境使用高级别:生产环境使用 warnerror 级别
  3. 测试环境使用中级别:测试环境使用 infonotice 级别
  4. 调试环境使用低级别:调试环境使用 debug 级别
  5. 定期清理日志:定期清理日志文件,释放磁盘空间
  6. 监控日志大小:监控日志文件大小,及时发现异常