開発Blog

log4jdbcを使ったSQL(JDBC)のトレース

投稿日:2011-08-31 更新日:

こんにちは、開発本部の榎本です。

開発中にデータベースに対してどのようなクエリが流れているのか確認してみたいことありませんか?

以前、山寺さんが紹介していたResinのログで取得するなど、いろいろな方法があるのですが、今回は、log4jdbc(http://code.google.com/p/log4jdbc/)を利用したトレース方法を紹介します。
今回は例としてWebPlatform上での設定を紹介します。

設定手順

  1. http://code.google.com/p/log4jdbc/downloads/listよりlog4jdbc4-*.jarをダウンロードします。

  2. %WebPlatform%/lib配下にダウンロードしたjarファイルを配置します。

  3. %WebPlatform%/conf/http.xmlを編集します。

これまでデータベース(データソース)の設定項目に、データベース固有のJDBCドライバが設定されますが(type)その部分を"net.sf.log4jdbc.DriverSpy"に差し替えます。
また、urlに含まれるjdbc:...の部分をjdbc:log4jdbc:...に変更します。

変更前:

変更後:

typeの部分を変更しています。
それ以外の項目は環境に合わせて設定してください。

  1. %WebPlatform%/conf/log配下にim_logger_log4jdbc.xmlファイルを作成し、以下の内容を設定します。

の部分をに変更することによりログの制御を切り替えることが出来ます。

  1. WebPlatformを起動してください、SQL(JDBC)に関するログがコンソールに出力されるようになったはずです。

クエリの内容と実行時間が確認できたかと思います。

im_logger_log4jdbc.xmlの設定を変更することにより、ResultSetやConnectionに対する操作ログ等も確認が可能となります。
開発時や障害解析の時などに使えると思いますので、機会があれば試してみてください。

-開発Blog
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

J2EEフレームワークに関するFAQ

※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。 J2EEフレームワークに関する技術的 …

no image

ApplicationRuntimeのライセンス数制限の仕様について

  ※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。最新のintra-martでは、異なる情報であることがありますので、ご注意ください。   intr …

no image

iWP Ver7.xでのチューニング

開発本部の大西です。 開発は半期末とかあまり関係ないと思いきや、諸般の事情でいろいろと大変な今日この頃です。 江本さんがebuilderのネタばかり書くので、傷食気味にならないように、季節柄、チューニ …

no image

Formaの画面遷移を制御するには

今回のブログ記事では、スクリプトを利用してFormaの画面遷移を制御する方法を紹介します。 目次 条件に応じて遷移先を変更する フォーム遷移設定 サンプルコード サンプルアプリケーション 処理後の遷移 …

no image

IM-Jugglingの更新チェックを抑制する方法

はじめに このBlogでは、インターネットに接続できない環境でIM-Jugglingを利用する場合などでIM-Jugglingの起動時に行われる更新チェックを抑制する方法について説明します。 利用にあ …