Play Framework で、リクエストログを出力したい

2013年5月13日

リクエストを受けた直後のアクションについては

/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]

このように設定する事で、リクエストがあるたびにリクエスト情報を常にログに出力することが出来ます。

アンケート