目錄
標準日志等級
服務器啟動階段常見日志
日志配置建議
常見服務器/工具的日志等級配置方式
ET框架
Apache/Nginx 等 Web 服務器
Docker 容器
服務器啟動過程中的日志等級是幫助開發者和運維人員理解系統狀態的重要工具。常見的日志等級及其含義如下:
標準日志等級
-
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