1. 日志級別分類與含義
Tomcat日志級別從高到低分為:SEVERE(最高,嚴重錯誤)、WARNING(警告信息)、INFO(一般運行信息,默認級別)、CONFIG(配置信息)、FINE(詳細調試信息)、FINER(更詳細調試信息)、FINEST(最詳細調試信息,最低級別)。選擇合適級別需平衡調試需求與日志體積。
2. 默認日志配置路徑
Debian下Tomcat的日志配置主要通過$CATALINA_BASE/conf/logging.properties文件設置($CATALINA_BASE通常為/opt/tomcat或/usr/share/tomcat),該文件定義了各類日志的輸出級別、路徑及格式。
3. 不同場景的日志級別建議
INFO或WARNING級別。INFO可記錄應用啟動、停止、請求處理等一般信息,便于日常監控;WARNING僅記錄潛在問題(如內存不足、連接超時),減少不必要的日志輸出,降低磁盤占用和I/O開銷。FINE或FINER級別。FINE可記錄方法調用、SQL執行等詳細信息,幫助開發者定位代碼問題;FINER提供更細粒度的調試信息(如線程堆棧),但會增加日志體積,不建議長期開啟。org.apache.catalina.connector連接器),可在logging.properties中單獨設置該組件的日志級別,例如:org.apache.catalina.connector.level = FINE,避免全局提升日志級別帶來的性能影響。4. 日志級別配置步驟
編輯$CATALINA_BASE/conf/logging.properties文件,找到對應Handler或Logger的level參數進行修改:
1catalina.org.apache.juli.FileHandler.level = INFO # Catalina引擎日志級別
2localhost.org.apache.juli.FileHandler.level = INFO # localhost組件日志級別
java.util.logging.ConsoleHandler.level = INFO # 控制臺輸出級別
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO # localhost上下文日志級別
org.apache.jasper.level = WARNING # JSP編譯器日志級別(減少JSP編譯日志)
修改完成后,重啟Tomcat使配置生效:$CATALINA_HOME/bin/shutdown.sh && $CATALINA_HOME/bin/startup.sh。
5. 日志輪轉配置(可選但重要)
為防止日志文件過大占用磁盤空間,建議使用logrotate工具進行自動輪轉。在/etc/logrotate.d/tomcat中添加以下配置:
/opt/tomcat/logs/catalina.out {
daily # 每天輪轉
rotate 30 # 保留30個備份
compress # 壓縮舊日志(節省空間)
missingok # 若日志不存在也不報錯
notifempty # 若日志為空則不輪轉
copytruncate # 復制日志后清空原文件(不影響Tomcat運行)
dateext # 使用日期作為備份文件后綴(如catalina.out-20251009)
}
該配置可實現日志的自動管理,無需手動刪除舊日志。