Play2.4で非推奨、かつPlay2.5ではなくなっているGlobalSettingの消し方を紹介します。
なかなか大変なので、ブログにまとめておきました。
Global.scalaで書いていたコード
Play2.3で書いていたGlobal.scalaのコードを記載します。
object Global extends WithFilters(CsrfFilter, AccessLoggingFilter, SystemAccessFilter) with GlobalSettings with JsonHelper { override def onStart(app: Application) { Akka.system.scheduler.schedule(1 hour, 1 hour) { Image.cleanTempImage() } } override def onError(request: RequestHeader, ex: Throwable): Future[Result] = { Logger.warn(s"Internal server error. Messages : ${e.getMessage} ExceptionMessage: ${e.getMessage()}") } } /** * アクセスログ出力フィルター */ object AccessLoggingFilter extends Filter { import models.component.RequestComponent._ val accessLogger = Logger("access") def apply(next: (RequestHeader) => Future[Result])(request: RequestHeader): Future[Result] = { val resultFuture = next(request) val startTime = System.currentTimeMillis resultFuture.flatMap { result => val takeTime = System.currentTimeMillis - startTime val msg = s"method=${request.method} uri=${request.uri} remote-address=${request.ipAddr} status=${result.header.status} user-agent=${request.userAgent} takeTime=${takeTime} ms" if (takeTime >= 1000) accessLogger.warn(s"*** ${msg} ***") else accessLogger.info(msg) resultFuture } recover { case NonFatal(ex) => { val takeTime = System.currentTimeMillis - startTime val msg = s"method=${request.method} uri=${request.uri} remote-address=${request.ipAddr} status=500 user-agent=${request.userAgent} takeTime=${takeTime}" accessLogger.error(msg) throw ex } } } }