我正在使用带有tomcat servlet容器的spring mvc用于Web服务,并希望记录API的响应时间(总执行时间),那么是否有任何spring服务或者什么是在春天记录与api执行时间相关的信息的最佳方式控制器级别。
随着观点数量的增加,这篇文章没有正确答案,所以我想回答我的发现。因此,如果您使用Spring和tomcat,有两种方法。
方法1#
实现拦截器并在请求preHandle
块中的新参数(requestReceivingTime)中添加当前时间,并在postHandle
块中记录当前时间和requestReceivingTime的减法。
方法2#
您可以使用tomcat访问日志记录请求时间,您必须编辑您的conf/server.xml
并根据您的需要更改格式。为exp
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%{X-Forwarded-For}i , %t Bytes sent: [%B] , Time taken millis: [%D] , Time taken seconds: [%T] "%r" %s" />
注意:在你的情况下可能会改变模式,这取决于tomcat版本。
希望这会有所帮助!