開発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

SQL Serverの利用時に遅いクエリを特定する方法

SQL Serverの利用中にレスポンス遅延が発生した場合、どのクエリがボトルネックになっているか簡単に確認する方法をご紹介します。レスポンス遅延発生時の切り分けなどにご利用ください。 概要 SQL …

no image

トラブル時の現状把握に必要な情報

※下記内容は、過去のintra-mart(Ver4.3以前)に関する内容です。 最新のintra-martでは、異なる情報であることがありますので、ご注意ください。 大規模システムが増加するに従い、弊 …

no image

intra-mart Advent Calendar 2013 第10日:認可サブジェクトの拡張方法

この記事は、intra-mart Advent Calendar 2013 第10日の記事です。 今回は「認可サブジェクトの拡張方法」をご紹介したいと思います。 intra-mart Accel Pl …

no image

ERP連携モジュール(SAP)の実現方法

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

no image

intra-martでのシングルサインオン(SSO)について

こんにちは、開発本部の大西です。 最近、非常にご質問の多い、シングルサインオン(SSO)の対応方法について、お話したいと思います。 個人的には、XSSやSQLインジェクションなどの脆弱性などのセキュリ …

まだデータがありません。

RSSRSSRSSRSS