サポート > Wagby Developer Network > カスタマイズ事例 > データベースに発行される SQL を確認する
WagbyではすべてのクラスでLog4jを用いたロギング処理を行なっています。ここでは Log4j によるデバッグ・テクニックを紹介します。
log4j.propertiesファイルの編集
稼働しているアプリケーションに対して直接、変更を行う
ここでは、ビルドしたアプリケーションの log4j.properties を変更する方法を説明します。
- wagbyapp\webapps\$(APPNAME)\WEB-INF\classes\log4j.properties ファイルをテキストエディタで開きます。
- 同ファイルの最終行に以下のような記述を追加します。(クラス名を直接、指定します。)
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(※ 実際には一行です。) - アプリケーションを再起動します。
先頭行に "C" という文字を加えています。この "C" に対応するのは、後半の log4j.appendar.C という 3 行になります。これによって画面への出力処理を指定しています。
最後の行が、任意のクラスに対してログレベルを DEBUG に変更した例です。 このようにプロセスビーンを DEBUG と指定することで、データベースへの SQL 文を確認することができます。
変更したlog4j.propertiesを次回以降のビルドにも反映させる
変更した log4j.properties ファイルを $(DEVHOME)\customize\tomcat_opt\classes フォルダに保存することで、次回以降のビルドにも反映させることができます。
Hibernate 設定ファイルの編集
ビルドしたアプリケーションの hibernate.cfg.xml を変更することで、Hibernate が生成する HQL を確認することもできます。
- wagbyapp\webapps\$(APPNAME)\WEB-INF\classes\hibernate.cfg.xml ファイルをテキストエディタで開きます。
- 同ファイルの property 要素を変更します。
<hibernate-configuration> <session-factory> ... <property name="show_sql">true</property> ... </session-factory> </hibernate-configuration> - アプリケーションを再起動します。Tomcat を起動したコンソールに HQL が表示されます。(logs\catalina.out にも同時に記録されます。)
