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