CentOS系統(tǒng)中Tomcat日志的完整配置指南
為什么需要啟用Tomcat日志
Tomcat日志記錄服務(wù)器運(yùn)行狀態(tài)、訪問(wèn)請(qǐng)求及錯(cuò)誤信息,是排查應(yīng)用異常、分析流量特征的核心工具。未正確配置日志可能導(dǎo)致故障診斷困難。
配置訪問(wèn)日志
編輯server.xml
配置文件:
vim /usr/local/tomcat/conf/server.xml
取消注釋并修改AccessLogValve配置段:
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
關(guān)鍵參數(shù)說(shuō)明
- directory: 日志存儲(chǔ)路徑(默認(rèn)相對(duì)路徑為T(mén)omcat根目錄/logs)
- pattern: 定義日志格式,推薦使用組合模式
%h %l %u %t "%r" %s %b
- fileDateFormat: 自定義日志文件名時(shí)間戳格式(可選)
設(shè)置錯(cuò)誤日志級(jí)別
修改logging.properties
文件:
vim /usr/local/tomcat/conf/logging.properties
調(diào)整日志級(jí)別參數(shù):
.handlers = 1catalina.org.apache.juli.AsyncFileHandler
.handler.level = FINE
配置日志輪轉(zhuǎn)
創(chuàng)建logrotate配置文件:
vim /etc/logrotate.d/tomcat
添加以下規(guī)則:
/var/log/tomcat/*.log {
daily
rotate 30
missingok
compress
delaycompress
sharedscripts
postrotate
/bin/kill -HUP $(cat /var/run/tomcat.pid)
endscript
}
驗(yàn)證配置生效
重啟Tomcat服務(wù)后執(zhí)行:
tail -f /usr/local/tomcat/logs/catalina.out
訪問(wèn)應(yīng)用并檢查localhost_access_log
是否生成新條目。
典型問(wèn)題處理
現(xiàn)象1:日志文件未生成
- 檢查T(mén)omcat進(jìn)程對(duì)日志目錄的寫(xiě)入權(quán)限
- 確認(rèn)配置文件中未設(shè)置
swallowOutput="true"
現(xiàn)象2:日志內(nèi)容不完整
- 驗(yàn)證pattern格式是否符合Apache標(biāo)準(zhǔn)
- 檢查JVM內(nèi)存是否不足導(dǎo)致日志截?cái)?/li>