1. 日志文件位置確認
Debian系統中,Tomcat日志的默認存儲路徑通常為/var/log/tomcat
(如/var/log/tomcat/catalina.out
)或/opt/tomcat/logs
(取決于Tomcat的安裝方式,如通過apt
安裝可能位于/var/lib/tomcat*/logs
)。確認路徑是管理日志的基礎。
2. 配置Tomcat原生日志級別(調整日志輸出量)
Tomcat默認使用java.util.logging
(JULI)作為日志框架,通過修改conf/logging.properties
文件可控制日志級別和輸出行為。例如,將全局日志級別從INFO
調整為WARNING
,可減少不必要的調試日志,降低磁盤占用:
.level = WARNING
# 針對特定組件(如Catalina容器)調整級別
org.apache.catalina.core.ContainerBase.level = WARNING
修改后需重啟Tomcat使配置生效。
3. 使用logrotate實現自動化日志輪轉
logrotate
是Linux系統自帶的日志管理工具,可自動完成日志輪轉、壓縮、刪除等操作。創建/etc/logrotate.d/tomcat
配置文件,添加以下內容(以catalina.out
為例):
/var/log/tomcat/catalina.out {
daily # 每天輪轉一次
rotate 7 # 保留最近7個日志文件
compress # 壓縮舊日志(如catalina.out.1.gz)
missingok # 若日志文件不存在,不報錯
notifempty # 若日志為空,不輪轉
copytruncate # 復制原日志后清空,避免Tomcat寫入鎖定
create 640 tomcat adm # 新日志文件權限及屬主(根據實際用戶調整,如tomcat/adm或root/tomcat)
}
測試配置是否正確:sudo logrotate -f /etc/logrotate.d/tomcat
(強制立即輪轉);logrotate
通常由cron.daily
任務自動執行,無需額外設置。
4. 手動備份與清理日志(補充方案)
若不想依賴logrotate
,可通過腳本手動備份和清理日志。例如,創建backup_tomcat_logs.sh
腳本:
#!/bin/bash
LOG_PATH="/var/log/tomcat" # 日志路徑
BACKUP_PATH="/home/user/backups" # 備份路徑
DATE=$(date +%Y-%m-%d)
# 備份catalina.out
cp "$LOG_PATH/catalina.out" "$BACKUP_PATH/catalina.out.$DATE.log"
# 刪除30天前的日志文件(如catalina.2025-09-*.log)
find "$LOG_PATH" -name "catalina.*.log" -mtime +30 -exec rm -rf {} \;
賦予執行權限:chmod +x backup_tomcat_logs.sh
,并通過crontab -e
設置定時任務(如每天凌晨執行):
0 0 * * * /path/to/backup_tomcat_logs.sh
5. 實時查看與過濾日志(快速排查問題)
使用Linux命令實時監控日志文件,快速定位問題:
tail -f /var/log/tomcat/catalina.out
tail -f /var/log/tomcat/catalina.out | grep "ERROR"
less /var/log/tomcat/catalina.out
(按q
退出)。6. 高級:使用日志分析工具(可視化與深度分析)
對于大規?;蜷L期運行的Tomcat實例,可使用專業工具進行日志分析與可視化: