Tomcat的訪問日志主要用于記錄所有HTTP請求的詳細信息(如客戶端IP、請求時間、方法、URL、狀態碼等),其位置和命名規則如下:
logs
子目錄下(如/usr/local/tomcat/logs/
或${TOMCAT_HOME}/logs/
)。localhost_access_log.<yyyy-MM-dd>.txt
(例如localhost_access_log.2025-10-09.txt
),其中<yyyy-MM-dd>
為日志生成的日期。server.xml
修改了AccessLogValve
的prefix
(前綴)或suffix
(后綴),文件名會相應變化(如access_log.2025-10-09.log
)。使用tail -f
命令可實時跟蹤日志文件的新增內容,適用于監控實時訪問情況:
tail -f ${TOMCAT_HOME}/logs/localhost_access_log.2025-10-09.txt
或簡寫為(若日志文件在當前目錄):
tail -f localhost_access_log.2025-10-09.txt
按Ctrl+C
可退出實時監控。
使用less
或more
命令可分頁查看日志,支持上下翻頁(空格
鍵向下,b
鍵向上)和關鍵字搜索(/
鍵輸入關鍵字):
less ${TOMCAT_HOME}/logs/localhost_access_log.2025-10-09.txt
或
more ${TOMCAT_HOME}/logs/localhost_access_log.2025-10-09.txt
192.168.1.100
的訪問記錄:grep "192.168.1.100" ${TOMCAT_HOME}/logs/localhost_access_log.2025-10-09.txt
500
(服務器內部錯誤)的記錄:grep " 500 " ${TOMCAT_HOME}/logs/localhost_access_log.2025-10-09.txt
wc -l ${TOMCAT_HOME}/logs/localhost_access_log.2025-10-09.txt
使用tail -n
命令查看日志文件的最后N行(例如查看最后100行):
tail -n 100 ${TOMCAT_HOME}/logs/localhost_access_log.2025-10-09.txt
若默認未開啟訪問日志或需要調整日志格式,可通過修改server.xml
文件配置AccessLogValve
:
server.xml
(位于conf
目錄下):vim ${TOMCAT_HOME}/conf/server.xml
<Host>
標簽(通常在文件末尾),添加或修改AccessLogValve
配置:<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b"
resolveHosts="false"/>
directory
:日志存儲路徑(默認logs
);prefix
:日志文件名前綴(如localhost_access_
);suffix
:日志文件名后綴(如.txt
);pattern
:日志格式(常用字段:%h
=客戶端IP、%t
=時間、%r
=請求行、%s
=狀態碼、%b
=響應字節數)。${TOMCAT_HOME}/bin/shutdown.sh
${TOMCAT_HOME}/bin/startup.sh
.gz
格式),可通過logging.properties
調整輪轉策略(如按大小分割、保留天數)。sudo
命令):sudo less ${TOMCAT_HOME}/logs/localhost_access_log.2025-10-09.txt
server.xml
中是否啟用了AccessLogValve
(默認開啟)。