log4jdbc で実際に発行される SQL をログ出力する

Pocket

こんにちは、鈴木です。

 

JDBC ドライバが実際に発行している SQL を確認したくなることってありますよね。特にデバッグするときなんかは、「INSERT INTO users (name, age) VALUES (?, ?)」のようにプレースホルダがそのままの状態ではなく、「INSERT INTO users (name, age) VALUES ('たろう', 20)」のような状態で SQL を確認できると、とても嬉しいです。

 

log4jdbc を使うと JDBC ドライバが発行する SQL をログ出力することができます。log4jdbc は JDBC ドライバをラップして、ログ出力する処理を追加しています。

 

pom.xml に追加する

Maven を使っているとして、pom.xml に依存ライブラリとして以下を追加します。

 

log4j.properties を作る

log4j.properties を作ります。ファイルにログ出力するようにします。

log4jdbc では出力するログの種類がいくつかていぎされています。(それぞれの役割はコメントで記述しています)。

ログファイルには以下のような内容が出力されます。

ライブラリやフレームワークを使っていると、中で何が行われているのか見えづらくなってしいがちですが、こうやって実際に発行される SQL を確認できると安心できますね。

 

Pocket

Comments are closed, but you can leave a trackback: Trackback URL.