如何使用Tomcat的访问日志
当做web application性能分析的时候,我们经常会借助Tomcat的访问日志。
打开Tomcat的访问日志
由于性能的考虑,通常线上Tomcat访问日志是关闭的。
如何打开访问日志:apache-tomcat/conf/server.xml
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t %r" %s %b" />
生产的访问日志文件在 apache-tomcat/logs/localhost_access_log.2018-03-22.txt
配置项
网上很多资料,不细说了
贴了一个链接:Tomcat Access Log配置
pattern配置项
参考上面链接。
这里只说两个与性能直接相关的参数。
-
%t
是当前时间戳,也就是打印当前log的时间戳,不是request进来,也不是response返回的时间戳。%t的格式是:[22/Mar/2018:07:58:53 +0000]
我们看到这个格式里面只有到秒,没有毫秒的数据。
官方文档Tomcat Class AccessLogValve里面描述了可以使用%{xxx}t格式,其中 xxx可以使用SimpleDateFormat的格式定义,所以可以使用 "%{yyyy-MM-dd HH:mm:ss.SSS}t" 就能显示毫秒级别时间戳。
-
%D
处理请求的时间(单位为毫秒)%T和%D一样,只是时间单位为秒。
例如,格式:
%{yyyy-MM-dd HH:mm:ss.SSS}t %D
对应的输出就是
2018-03-22 08:07:23.110 3102
有了上述这两个参数,我们基本就能确定一个tomcat花在一个请求上面的时间值。
网友评论