log4jdbcライブラリをアプリケーションサーバのJDBCドライバに設定するときとかのメモ
アプリケーションサーバのJDBCプロバイダに設定して、SQLのログ出力を詳細にする方法があるのだが、日本語のまとめっぽいのが見当たらなかったのでメモがてらに書く。
前提条件
- log4jライブラリを使用しているアプリケーション用
- 本記事はオラクルかDB2を対象としている
- 確認したアプリケーションサーバはWebsphere
使用するライブラリ
オープンソースのものが4つに、実装するものが1つの計5つ。これに各々のデータベースへ接続するライブラリが必要となる。(例:オラクルだとojdbc6.jarとか。)
- log4jdbc4-1.2.jar
- for JDBC 4 support in JDK 1.6 , JDK 1.7
- log4dbcのdownloadサイト
- slf4j-api-1.2.jar
- 最新のでも大丈夫だと思ふ
- SLF4Jのdownloadサイト
- slf4j-jcl-1.2.jar
- slf4j-log4j12-1.2.jar
- mylog4jdbc.jar
- あとは各々のデータベース用のライブラリ
- ojdbc6.jar とか
- db2jcc4.jar とか
How do I use it ?
mylog4jdbc.jarの作成
アプリケーションサーバ
- アプリケーションサーバの管理コンソールなどから、上記のライブラリをJDBCプロバイダへ登録する。
- Websphereにあったけど「リソース・プロバイダーの分離」にチェックを入れるべきか否かは正直、不明です。m(_ _)m
- 実装クラス名の指定は、各データベース用へ実装したmylog4jdbc.jar内の「mylog4jdbc.datasoruce.OracleLoggingConnectionPooledDataSource」などを指定する。
log4j
- ロガーの設定を行う。設定例はMylog4jdbcサンプル内に。
- log4jdbc_log4j.propertiesの設定
- このプロパティファイルをクラスパスが通っているフォルダに格納する。設定例はMylog4jdbcサンプル内に。
以上(`・ω・´)