1. 定位Tomcat日志文件
Tomcat的日志文件集中存储在CATALINA_HOME/logs目录(CATALINA_HOME为Tomcat安装路径),其中与用户行为分析最相关的日志包括:
localhost_access_log.*.txt):记录用户对应用的HTTP请求细节(如IP、时间、请求方法、URL、状态码等),是用户行为分析的核心数据源;catalina.out):包含应用运行中的INFO、WARN、ERROR级别信息,可辅助排查用户操作引发的问题;localhost.<date>.log):若应用自定义了日志(如Spring Boot的application.log),可能包含更详细的用户操作轨迹(如登录、下单等)。2. 配置访问日志格式(提取关键字段)
通过修改server.xml中的AccessLogValve组件,可定制访问日志的字段,确保捕获用户行为的关键信息。常用字段包括:
%h:客户端IP地址(标识用户来源);%t:请求时间戳(分析访问时段);%r:完整HTTP请求行(包含方法、URL、协议,如GET /home HTTP/1.1);%s:HTTP状态码(判断请求结果,如200成功、404未找到);%b:传输字节数(反映资源大小,辅助分析页面性能);%{User-Agent}i:用户代理(识别浏览器、操作系统,如Chrome/120.0.0.0 Windows);%{Referer}i:引荐来源(记录用户从哪个页面跳转而来,分析访问路径)。<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log."
suffix=".txt"
pattern="%h %t "%r" %s %b "%{User-Agent}i"" />
配置完成后,重启Tomcat使设置生效。
3. 提取用户行为关键指标
通过分析访问日志,可提取以下核心指标,反映用户行为特征:
User-Agent识别用户地理位置、设备类型(移动端/PC端)、浏览器类型(如Chrome占比),判断用户覆盖范围;/home、/product/detail),识别用户最关注的内容;Referer字段分析用户从首页到目标页面的跳转流程(如首页→商品列表→商品详情→购物车),优化导航逻辑;/login,说明用户登录频繁);/old-page,说明页面已失效需修复);%D字段记录毫秒数),识别慢请求(如超过2秒的请求),定位性能瓶颈。4. 使用工具分析日志
对于海量日志,手动分析效率低下,可使用以下工具提升效率:
grep:筛选特定信息(如grep "404" access.log查看所有404错误);awk:提取字段并统计(如awk '{print $7}' access.log | sort | uniq -c | sort -nr统计各URL的访问量);sed:按时间范围筛选(如sed -n '/2025-10-01 00:00:/,/2025-10-01 23:59:/p' access.log提取某天的日志);5. 应用场景:从数据到决策
通过上述分析,可将用户行为数据转化为实际优化措施:
/product/detail平均响应5秒),可优化数据库查询或增加缓存;/old-blog),需检查页面是否存在或修复链接;192.168.1.100每秒10次请求),可能是恶意攻击,可通过防火墙屏蔽该IP;/blog页面跳转到/product页面的转化率高(如30%),可加强博客与产品的关联推荐。