Play Framework で、リクエストログを出力したい
リクエストを受けた直後のアクションについては
/app/Global.scala
というオブジェクトのファイルを作り
GlobalSettingsを継承します。
このGlobalSettingsというトレイトには
beforeStart
onStart
onStop
onRouteRequest
onError
onHandlerNotFound
onBadRequest
というメソッドが定義されていて、それぞれオーバーライドする事でアクションを設定する事が出来ます。
今回は、リクエストが来た時に処理させたいので
onRouteRequest
をオーバーライドして使います。
[scala]
import play.api._
import play.api.mvc._
object Global extends GlobalSettings {
/**
* リクエストが発生した時に実行される処理
*
* オーバーライドして、ログ出力後に親メソッド起動
*/
override def onRouteRequest(request: RequestHeader): Option[Handler] = {
Logger.info(request.toString)
super.onRouteRequest(request)
}
}
[/scala]
このように設定する事で、リクエストがあるたびにリクエスト情報を常にログに出力することが出来ます。