読者です 読者をやめる 読者になる 読者になる

mybatis ログレベルによる出力分け

mybatis sl4j (logback) を使用したプロジェクトで使用する時、
logback.xml org.apache.ibatis パッケージ に対するログレベルを書かなくても、呼び出し側で DEBUG になっていると、、

org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug

が DEBUGレベルで、実行するSQLステートメントを出してくれる。
デバッグにはありがたいのだが、バグが枯れた後の頻繁な出力は迷惑になる。
全ての mybatis 実行における SQLのログを WARN におさえてしまうのも、
デバッグで不便だったりもする。

目的に沿って、実行する処理を、MyBatis の SQLMapper で分けて設計&コーディングして、
Mappper 別に、ログレベルを logback で指定すると綺麗なデバッグ作業が可能だ。


<logger name="org.uranus.Amapper">
   <level value="warn" />
   <appender-ref ref="logFile" />
</logger
<logger name="org.uranus.Bmapper">
   <level value="info" />
   <appender-ref ref="logFile" />
</logger
<logger name="org.uranus.Cmapper">
   <level value="debug" />
   <appender-ref ref="logFile" />
</logger