Arn*_*sen 8 scala playframework
我有一个Play过滤器,可以像这样执行一些post请求记录:
class LoggingFilter extends Filter with LazyLogging {
override def apply(f: (RequestHeader) => Future[Result])(rh: RequestHeader): Future[Result] =
f(rh) andThen {
case Success(result) =>
logger.info(s"[SUCCESS] ${result.header.status}")
case Failure(e) =>
val end = System.currentTimeMillis()
val duration = end - start
logger.error(s"[FAILURE] ${e.getMessage}}", e)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我也有onServerError处理程序将某些已知的异常映射到适当的Result.不幸的是,在错误处理程序将已知异常转换为结果之前调用过滤器,让我没有发送给调用者的STATUS代码和日志中处理异常的堆栈跟踪.
有没有办法定义过滤器,以便它包装请求发布错误处理程序调用?