seratch's weblog in Japanese

About Scala, Java and Ruby programming in Japaense. If you need English information, go to http://blog.seratch.net/

ScalikeJDBC の SQL ログ出力

ScalikeJDBC には ActiveRecord のように実際に発行した SQL とその実行時間をログに出す、もしくはスロークエリだけを出す、といった機能があります。また、SQL を以下のように整形することもできます。

ScalikeJDBC を実際に試したことのない方のためにスクリーンショットを貼って紹介してみます。

実際のコードはこちらにあります。

https://github.com/seratch/devteam-app/blob/master/src/main/scala/devteam/model/

このようなメソッドがあって

f:id:seratch2:20130608134951p:plain

sbt console から実行すると以下のようにログ出力されます。SQL だけでなくそれが Scala のコードのどの行で発行されたものかわかるようにスタックトレースも出すので調査のときに便利です。

f:id:seratch2:20130609095840p:plain

もっと複雑な例だと

f:id:seratch2:20130608135254p:plain

こんな感じ。

f:id:seratch2:20130609095853p:plain

または singleLineMode というオプションを有効にして SQL だけを一行で出力するようにすることもできます。

f:id:seratch2:20130609100030p:plain

詳しくは実際に試してみてください。

https://github.com/seratch/devteam-app

また何か不明な点などありましたらお気軽にご質問ください。

https://groups.google.com/group/scalikejdbc-users-group-ja