gpt4 book ai didi

scala - 记录 Play!2 Scala 应用程序的请求时间

转载 作者:行者123 更新时间:2023-12-01 05:15:16 25 4
gpt4 key购买 nike

我正在尝试在 Scala Play!2 应用程序中记录所有请求的时间。我想我需要覆盖 onRequestReceived返回一个新的 Handler调用 Action ,然后记录时间,然后返回 Action 的结果。但我不知道如何调用处理程序。

这是我所拥有的:

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
}

关于scala - 记录 Play!2 Scala 应用程序的请求时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21190569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com