在playframework和生产中的友好错误页面中捕获所有异常

Bla*_*man 2 scala playframework

在我的播放应用程序中,我正在您通常在代码中进行日志记录(跟踪,调试,错误等).

对于那些我没有抓到的错误,我可以在哪里放置日志记录,以便缓存我错过的错误?是否有一个中心事件,我可以挂钩,将捕获所有错误?

另外,每当我的应用程序中出现错误时,我应该如何显示友好的错误页面?(以及如何在开发中显示错误,以及生产环境中的自定义错误页面)

Rya*_*yan 5

https://www.playframework.com/documentation/2.3.x/ScalaGlobal#Providing-an-application-error-page

object Global extends GlobalSettings {

  override def onError(request: RequestHeader, ex: Throwable) = {
    if (! Play.isProd) super.onError(request, ex)
    else 
      Future.successful(InternalServerError(
        views.html.errorPage(ex)
      ))
  }

}
Run Code Online (Sandbox Code Playgroud)