サポート > Wagby Developer Network > カスタマイズ事例 > データベースに発行される SQL を確認する

WagbyではすべてのクラスでLog4jを用いたロギング処理を行なっています。ここでは Log4j によるデバッグ・テクニックを紹介します。

log4j.propertiesファイルの編集

稼働しているアプリケーションに対して直接、変更を行う

ここでは、ビルドしたアプリケーションの log4j.properties を変更する方法を説明します。

  1. wagbyapp\webapps\$(APPNAME)\WEB-INF\classes\log4j.properties ファイルをテキストエディタで開きます。
  2. 同ファイルの最終行に以下のような記述を追加します。(クラス名を直接、指定します。)
    log4j.rootCategory=INFO, F, C
    log4j.appender.F=
      org.apache.log4j.DailyRollingFileAppender
    log4j.appender.F.DatePattern=
      '.'yyyy-MM-dd
    log4j.appender.F.File=
      ${catalina.home}/logs/system.log
    log4j.appender.F.layout=
      jp.jasminesoft.util.log4j.ThrowablePatternLayout
    log4j.appender.F.layout.ConversionPattern=
      %d{yyyy-MM-dd HH:mm:ss} [%p %c %M] %m%n
    log4j.appender.C=
      org.apache.log4j.ConsoleAppender
    log4j.appender.C.layout=
      org.apache.log4j.PatternLayout
    log4j.appender.C.layout.ConversionPattern=
      %d{yyyy-MM-dd HH:mm:ss} [%p %c %M] %m%n
    log4j.logger.jp.jasminesoft.wagby.app.staff.ShowStaffProcessBean=
      DEBUG
    
    (※ 実際には一行です。)
  3. アプリケーションを再起動します。

先頭行に "C" という文字を加えています。この "C" に対応するのは、後半の log4j.appendar.C という 3 行になります。これによって画面への出力処理を指定しています。

最後の行が、任意のクラスに対してログレベルを DEBUG に変更した例です。 このようにプロセスビーンを DEBUG と指定することで、データベースへの SQL 文を確認することができます。

変更したlog4j.propertiesを次回以降のビルドにも反映させる

変更した log4j.properties ファイルを $(DEVHOME)\customize\tomcat_opt\classes フォルダに保存することで、次回以降のビルドにも反映させることができます。

Hibernate 設定ファイルの編集

ビルドしたアプリケーションの hibernate.cfg.xml を変更することで、Hibernate が生成する HQL を確認することもできます。

  1. wagbyapp\webapps\$(APPNAME)\WEB-INF\classes\hibernate.cfg.xml ファイルをテキストエディタで開きます。
  2. 同ファイルの property 要素を変更します。
    <hibernate-configuration>
      <session-factory>
        ...
        <property name="show_sql">true</property>
        ...
      </session-factory>
    </hibernate-configuration>
    
  3. アプリケーションを再起動します。Tomcat を起動したコンソールに HQL が表示されます。(logs\catalina.out にも同時に記録されます。)

このページ

カスタマイズ事例