Jetty 10日志中获取请求处理耗时的属性查询
Jetty 10/11 请求日志输出处理耗时配置说明
Jetty 10、11版本原生支持在请求日志中输出请求处理耗时,对应Jetty 9中的log latency功能,无需额外开发,仅需调整日志格式配置即可。
可用占位符
%D:输出请求总耗时,单位为毫秒,统计从请求进入服务端到响应完全发送完成的全链路耗时,是最常用的耗时统计参数%T:输出请求总耗时,单位为秒,保留小数点后9位精度,可用于需要更高时间精度的场景
配置示例
你当前使用的默认请求日志格式如下:
%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"
仅需在格式末尾添加对应占位符即可输出耗时,修改后格式参考:
%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i" %D
配置生效后,输出的日志末尾会新增一位数字,即为请求耗时,示例如下:
123.4.5.6 - - [27/Aug/2004:10:16:17 +0000] "GET /jetty/tut/XmlConfiguration.html HTTP/1.1" 200 76793 "http://localhost:8080/jetty/tut/logging.html" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040614 Firefox/0.8" 38
上述示例中末尾的38就代表本次请求总耗时为38毫秒。
如果是通过XML文件配置Jetty服务,参考配置如下:
<New id="RequestLog" class="org.eclipse.jetty.server.CustomRequestLog"> <Arg name="filename">logs/request.log</Arg> <Arg name="format">%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i" %D</Arg> </New>
如果是通过jetty.ini配置,添加如下参数即可:
jetty.requestlog.format=%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i" %D
内容的提问来源于stack exchange,提问作者Ashish Goyanka
相关产品推荐
相关产品推荐

