记录Play!2 Scala应用程序的请求时间
发布时间:2020-12-16 08:43:30 所属栏目:安全 来源:网络整理
导读:我正在尝试在 Scala Play!2应用程序中记录所有请求的时间.我想我需要覆盖onRequestReceived来返回一个调用该动作的新Handler,然后记录时间,然后返回动作的结果.但我不知道如何调用处理程序. 这就是我所拥有的: override def onRequestReceived(requestHead
我正在尝试在
Scala Play!2应用程序中记录所有请求的时间.我想我需要覆盖onRequestReceived来返回一个调用该动作的新Handler,然后记录时间,然后返回动作的结果.但我不知道如何调用处理程序.
这就是我所拥有的: override def onRequestReceived(requestHeader: RequestHeader) = { val startTime = System.currentTimeMillis val (rh,handler) = super.onRequestReceived(requestHeader) def newHandler = Action { val result = handler.apply // No such method val requestTime = System.currentTimeMillis - startTime Logger.debug("time: " + requestTime) result } (rh,newHandler) } 但handler.apply不存在.如何调用super.onRequestReceived返回的处理程序.而且,更重要的是,我是否正确地采取了这种方式? 解决方法
那么,为什么不调用基类并记录基类中的方法处理它的时间,而不是试图自己处理请求的任务.换一种说法:
override def onRequestReceived(request: RequestHeader) = { val startTime = System.currentTimeMillis() val result = super.onRequestReceived(request) val endTime = System.currentTimeMillis() logger.debug("Request lasted:" + (endTime - startTime) + " ms") result } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容