java - jetty 10 日志记录中请求所花费的时间
问题描述
这是配置码头日志记录的后续问题。是否有任何属性给出请求所花费的时间?
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"
上面的参数已经在configure jetty logging中定义了。但我没有看到任何参数可以为我们提供请求所花费的时间。
注意 - 它曾经在 jetty9 中被称为日志延迟 - jetty9 自定义日志记录
解决方案
您将需要更改格式字符串CustomRequestLog
以包含%T
百分比代码。这在用于CustomRequestLog
. (见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 相同的结果,但没有任何格式;使用 us 得到与 %D 相同的结果。
如果您不使用CustomRequestLog
和扩展RequestLog
自己,您可以通过以下方式自己获得延迟:
long latency = System.currentTimeMillis() - request.getTimeStamp();
推荐阅读
- javascript - 如何在 React 的下拉选项中添加链接/标签
- c# - 如何重定向到传递任何 URL 参数的控制器/操作?
- entity-framework-core - 如何清除 EF Core 中的可选外键
- python - 在python中停止或杀死线程
- jhipster - 视图的实体 Jhipster
- webview - 如何在 Buttonclick 上刷新 Nativescript 中的 Webview
- sql - SQL:SQL比较中的表达式顺序
- python - 需要以某种方式将一列数据的格式从文本更改为日期
- c# - 如何在 HttpResponseMessage.Content.Headers.ContentType 中显示图像
- flutter - Flutter bloc 监听器不监听状态变化