Tomcat 8 http主体完成写时记录; ServletOutputStream关闭?阀门%D?

时间:2019-06-25 13:29:41

标签: tomcat8 tomcat-valve

我有一个要在Tomcat 8中部署的WAR文件。它使用的是Spring Boot,这很偶然。

我想记录客户端完成使用我的http响应所需的时间,因为响应的主体很大。这意味着过滤器链早在客户端有时已经完全使用了HttpServletResponse的ServletOutputStream之前(有时是几分钟)就完成了。

Tomcat Valve%D是否涵盖这种情况? https://tomcat.apache.org/tomcat-8.0-doc/config/valve.html#Access_Log_Valve/Attributes通过阅读文档不确定。

如果没有,我如何捕获它?我基本上想在调用ServletOutputStream.close()时记录一个时间戳,对吗?我该怎么办?

1 个答案:

答案 0 :(得分:0)

我发现的最佳解决方案是将一个负载均衡器放在我的tomcat(haproxy)前面,将其切换为HTTP模式,并以这种方式记录它。但是,我非常喜欢TCP路由,因为对于我的用例而言,它可测量得更快。还有其他建议吗?