阅读量:3
定位访问日志文件
- Tomcat 的请求记录(访问日志)默认位于 $CATALINA_HOME/logs,常见文件名形如:localhost_access_log.YYYY-MM-DD.txt。如果未生成,需要在 conf/server.xml 的 Host 中配置 AccessLogValve 才会写入访问日志。示例默认配置:
修改后重启 Tomcat 即可在 logs/ 目录看到按日期切分的访问日志文件。
常用查看命令
- 进入日志目录并查看最近的访问日志:
cd $CATALINA_HOME/logs tail -n 200 localhost_access_log.$(date +%F).txt - 实时查看新增请求:
tail -f localhost_access_log.$(date +%F).txt - 按关键字过滤(如 4xx/5xx 或某个接口路径):
tail -f localhost_access_log.*.txt | egrep ' 4[0-9]{2} | 5[0-9]{2}' tail -f localhost_access_log.*.txt | grep '/api/v1/order' - 查看指定时间段的日志(示例:2025-11-14 10:00 到 12:00):
sed -n '/2025-11-14 10:00/,/2025-11-14 12:00/p' localhost_access_log.*.txt - 如果 Tomcat 以 systemd 管理,也可查看服务输出(包含控制台日志,非访问日志):
journalctl -u tomcat.service -f
以上命令适用于 CentOS 下的 Tomcat 日志查看与过滤。
访问日志格式与字段含义
- 常见格式别名:
- common:%h %l %u %t “%r” %s %b
- combined:%h %l %u %t “%r” %s %b “%{Referer}i” “%{User-Agent}i”
- 关键占位符释义(便于读懂日志每一列):
- %h:远程 IP
- %l:远程逻辑用户名(通常为 -)
- %u:已认证远程用户(无则 -)
- %t:请求时间(Common Log Format)
- %r:请求首行(方法 + URL + 协议)
- %s:响应状态码
- %b:响应字节数(不含响应头,0 显示 -)
- %D / %T:处理耗时(毫秒/秒)
- %{xxx}i / %{xxx}o:请求头/响应头
- %{xxx}c:Cookie
- 示例行(combined 格式):
192.168.1.10 - - [14/Nov/2025:10:23:45 +0800] "GET /app/index.jsp HTTP/1.1" 200 1234 "https://example.com/" "Mozilla/5.0 ..."
上述占位符与格式别名含义可用于自定义访问日志内容与可读性优化。
没有访问日志时的排查与配置建议
- 检查 conf/server.xml 中对应 Host 是否包含 AccessLogValve,并确保未注释;保存后重启 Tomcat。
- 确认日志目录 logs/ 存在且 Tomcat 进程对该目录有写权限(属主/权限设置正确)。
- 自定义需求(如记录 Referer、User-Agent、请求耗时、请求头等)可在 pattern 中使用相应占位符,例如:
修改后重启,新的访问日志将按新格式输出。pattern="%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\" %D"
以上就是关于“centos tomcat日志中如何查看请求”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm