在Debian中管理Tomcat日志可以通過以下幾個步驟來實現:
/etc/logrotate.d/
目錄下創建或編輯Tomcat的logrotate配置文件,例如 tomcat
。/var/log/tomcat/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 tomcat adm
sharedscripts
postrotate
if [ -f /var/run/tomcat.pid ]; then
/usr/share/tomcat/bin/shutdown.sh
fi
endscript
}
解釋配置項:
daily
:每天輪轉一次日志。missingok
:如果日志文件不存在,不會報錯。rotate 7
:保留7個輪轉后的日志文件。compress
:輪轉后的日志文件進行壓縮。notifempty
:如果日志文件為空,則不輪轉。create 640 tomcat adm
:創建新的日志文件,權限為640,屬主為tomcat,屬組為adm。sharedscripts
:如果有多個日志文件匹配,只執行一次postrotate腳本。postrotate
:輪轉后執行的腳本,這里會嘗試關閉Tomcat進程,以便新的日志文件可以被創建。測試配置:運行 sudo logrotate -f /etc/logrotate.d/tomcat
強制執行一次日志輪轉,檢查是否有錯誤。
logging.properties
文件,通常位于Tomcat安裝目錄的 conf
文件夾下。handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
logging.properties
文件中,找到 java.util.logging.ConsoleHandler.formatter
行。java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
tail -f /var/log/tomcat/catalina.out
。grep "error" /var/log/tomcat/catalina.out
。conf/server.xml
文件,啟用 AccessLogValve
來記錄所有訪問服務器的HTTP請求詳細信息。<Valve className="org.apache.catalina.valves.AccessLogValve" directory="/var/log/tomcat" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t %r %s %b %T" resolveHosts="false" />
通過上述方法,你可以在Debian系統中有效地配置和管理Tomcat日志,確保日志文件不會無限增長,并且可以方便地進行日志分析和故障排查。[4,5,6,7,8,9,10,11,12,13]