目录
服务器启动过程中的日志等级是帮助开发者和运维人员理解系统状态的重要工具。常见的日志等级及其含义如下:
标准日志等级
TRACE (最详细)
最细粒度的信息,通常用于跟踪代码执行路径
包含方法进入/退出、变量值等调试信息
生产环境通常不启用
DEBUG
详细的调试信息
用于开发环境的问题诊断
包含变量状态、流程细节等
INFO (默认级别)
重要运行时事件
系统正常运行的确认信息
如服务启动、配置加载、重要操作完成等
WARN (警告)
潜在的有害情况
非错误但可能需要关注的情况
如使用默认配置、接近资源限制等
ERROR
错误事件,但系统仍能继续运行
如数据库连接失败、外部API调用失败等
FATAL (最严重)
非常严重的错误,导致系统无法继续运行
如关键子系统失败、启动时配置错误等
服务器启动阶段常见日志
启动初期:
DEBUG/TRACE: 类加载、依赖注入过程
INFO: 配置文件加载、环境检测
中间阶段:
INFO: 数据源初始化、缓存预热
WARN: 非关键功能初始化失败
后期阶段:
INFO: 服务监听端口、启动完成
ERROR/FATAL: 关键服务初始化失败
日志配置建议
生产环境通常设置为INFO或WARN
开发环境可设置为DEBUG
问题诊断时可临时启用TRACE
确保ERROR及以上级别日志有适当的告警机制
不同日志框架(如Log4j, Logback, SLF4J)可能有轻微差异,但基本等级概念相似。
常见服务器/工具的日志等级配置方式
ET框架
通过启动命令的:--LogLevel 2配置
setsid dotnet App.dll --CreateScenes 1 --LogLevel 2 --AppType Watcher --StartConfig StartConfig/Release
Apache/Nginx 等 Web 服务器
Apache HTTP Server
修改httpd.conf
或虚拟主机配置:LogLevel warn # 可选: debug, info, notice, warn, error, crit, alert, emerg
或命令行启动时:
httpd -LogLevel debug
Nginx
在nginx.conf
中设置:error_log /var/log/nginx/error.log warn; # 可选: debug, info, notice, warn, error, crit, alert, emerg
Spring Boot (
application.properties
/application.yml
)logging.level.root=WARN logging.level.com.myapp=DEBUG
或命令行:
java -jar app.jar --logging.level.root=DEBUG
Log4j/Logback
通过 XML 配置,如logback.xml
:<root level="INFO"> <appender-ref ref="CONSOLE" /> </root> <logger name="com.myapp" level="DEBUG" />
Docker 容器
查看容器日志:
docker logs -f my-container
某些镜像支持
--log-level
,如:docker run --log-level=debug my-image