如何在 Jetty 7 中启用响应时间日志记录

发布于 2024-10-18 21:57:26 字数 285 浏览 8 评论 0原文

Apache 和 Tomcat 都可以轻松地将响应超时记录到服务器访问日志(使用 %D 模式),但我无法在 Jetty 中找到任何等效的支持,无论是使用默认的 NCSARequestLog 还是> 或使用 logback-access (我首选的日志记录设置)。

有没有办法让 Jetty 记录这些时间?我可以看到可以使用某种自定义处理程序来收集此信息并将其提供给日志记录处理程序,但我希望像 StatisticsHandler 这样的东西可以为我做到这一点,因为它很明显已经跟踪此信息以生成其汇总统计数据。

Apache and Tomcat both make it easy to log response times out to the server access log (with the %D pattern), but I've been unable to find any equivalent support in Jetty, either with the default NCSARequestLog or using logback-access (my preferred logging setup).

Is there a way of getting Jetty to log these times? I could see it being possible to use a custom handler of some kind to gather this information and make it available to the logging handler, but am hopeful that something like the StatisticsHandler could do it for me as it's clearly already tracking this information to generate its aggregate stats.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

乖乖兔^ω^ 2024-10-25 21:57:26

NCSARequestLog 上调用 setLogLatency(true)

Call setLogLatency(true) on NCSARequestLog

箹锭⒈辈孓 2024-10-25 21:57:26

有关如何通过配置启用响应时间日志记录的详细说明如下:监控 Jetty 请求日志中的延迟

摘要:

打开[JETTY HOME]/etc/jetty.xml。

找到部分。

将 Set name=”logLatency”>true 添加到 setter 列表。

保存并重新启动 Jetty。

A good detailed explanation on how to enable response time logging through configuration is here: Monitoring latency in Jetty request log

Summary:

Open [JETTY HOME]/etc/jetty.xml.

Locate <Ref id=”RequestLog”> section.

Add Set name=”logLatency”>true to setter list.

Save it and restart Jetty.

反话 2024-10-25 21:57:26

使用 logback access 1.1.0 或更高版本,您可以使用 %elapsedTime 转换字来获取以毫秒为单位的响应时间。来自 https://logback.qos.ch/manual/layouts.html

D / elapsedTime 服务请求所花费的时间(以毫秒为单位)。
T/elapsedSeconds 服务请求所花费的时间(以秒为单位)。

例如,使用:

<pattern>%h %l %u [%t] "%r" %s %b "%i{Referer}" "%i{User-Agent}" %elapsedTime{}ms</pattern>

将输出:

0:0:0:0:0:0:0:1 - - [03/Jun/2018:08:07:12 +1200] "GET /actuator/health HTTP/1.1" 200 15 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36" 3ms

Using logback access 1.1.0 or later, you can use the %elapsedTime conversion word to get the response time in ms. From https://logback.qos.ch/manual/layouts.html :

D / elapsedTime      The time taken to serve the request, in milliseconds.
T / elapsedSeconds   The time taken to serve the request, in seconds.

For example, using:

<pattern>%h %l %u [%t] "%r" %s %b "%i{Referer}" "%i{User-Agent}" %elapsedTime{}ms</pattern>

Will output:

0:0:0:0:0:0:0:1 - - [03/Jun/2018:08:07:12 +1200] "GET /actuator/health HTTP/1.1" 200 15 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36" 3ms
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文