启用调试日志

本章节介绍如何启用调试日志。

启用调试日志

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

启用调试日志原理error_log 指令用于设置错误日志的路径和级别,debug 是最低的日志级别,会记录所有的调试信息。启用调试日志后,Nginx 会记录详细的运行信息,包括请求处理过程、配置加载过程、模块初始化过程等。

调试日志级别

  • debug:调试信息,最详细的日志级别
  • info:一般信息
  • notice:通知信息
  • warn:警告信息
  • error:错误信息
  • crit:严重错误
  • alert:需要立即处理
  • emerg:系统不可用

按连接启用

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

events {
    debug_connection 127.0.0.1;
    debug_connection 192.168.1.0/24;
}

按连接启用调试日志原理debug_connection 指令用于指定需要记录调试日志的客户端 IP 地址或网段。只有来自指定 IP 地址或网段的连接才会记录调试日志,其他连接不会记录调试日志。这种方式可以减少调试日志的输出量,提高性能。

debug_connection 参数说明

  • 127.0.0.1:指定单个 IP 地址
  • 192.168.1.0/24:指定一个网段

注意事项

调试日志会生成大量输出

原因: 调试日志记录了详细的运行信息,包括请求处理过程、配置加载过程、模块初始化过程等,因此会生成大量的日志输出。

影响

  • 占用大量的磁盘空间
  • 占用大量的 I/O 资源
  • 可能影响系统性能

可能影响性能

原因: 调试日志会占用大量的磁盘空间和 I/O 资源,因此可能影响系统性能。

影响

  • 磁盘 I/O 增加
  • CPU 使用率增加
  • 内存使用量增加
  • 响应时间增加

仅在调试时使用

原因: 调试日志仅用于调试和故障排查,不建议在生产环境中使用。

建议

  • 仅在开发测试环境中使用
  • 仅在调试和故障排查时使用
  • 调试完成后立即关闭

生产环境禁用

原因: 调试日志会占用大量的磁盘空间和 I/O 资源,影响系统性能,因此不建议在生产环境中使用。

建议

  • 生产环境禁用调试日志
  • 使用 error_log /var/log/nginx/error.log warn 或更高级别
  • 定期清理日志文件

最佳实践

  1. 仅在调试时使用:仅在调试和故障排查时使用调试日志
  2. 按需启用:按需启用调试日志,避免长时间启用
  3. 按连接启用:按连接启用调试日志,减少日志输出量
  4. 定期清理:定期清理日志文件,释放磁盘空间
  5. 监控性能:监控性能,及时发现异常
  6. 生产环境禁用:生产环境禁用调试日志,使用更高级别的日志