jetty 10 日志中的请求所用的时间

Time taken by the request in jetty 10 logging

这是 的跟进问题。是否有任何属性给出请求所用的时间?

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"

以上参数已经在中定义。但我没有看到任何参数告诉我们请求所用的时间。

注意 - 它曾经在 jetty9 中称为日志延迟 - jetty9 custom logging

您需要更改 CustomRequestLog 的格式字符串以包含 %T 百分比代码。 CustomRequestLog 的 javadoc 中对此进行了记录。 (参见 https://javadoc.io/doc/org.eclipse.jetty/jetty-server/latest/org.eclipse.jetty.server/org/eclipse/jetty/server/CustomRequestLog.html

  • %T - 处理请求所花费的时间,以秒为单位。
  • %{UNIT}T - 的 以 UNIT 给定的时间单位为请求提供服务所花费的时间。有效的 单位是 ms 表示毫秒,us 表示微秒,s 表示 秒。使用 s 给出与没有任何格式的 %T 相同的结果; 使用我们给出与 %D 相同的结果。

如果您不使用 CustomRequestLog 并自行扩展 RequestLog,您可以通过以下方式自行获得延迟:

long latency = System.currentTimeMillis() - request.getTimeStamp();