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
(默认开启)。