サポート > 運用ガイド(R6) > ログの詳細・ログ出力先の変更方法

標準のログ出力先フォルダを変更する方法について説明します。

ログの詳細

system.log

Webアプリケーションに対するすべての操作が記録されます。アプリケーションの起動と停止に関わる各サービスの初期化と停止情報から、誰がいつログオンし、どのような操作を行ったかが記録されます。ジョブについての記録も行われます。

このファイルはログ出力があった際の日付に対応して、ログ出力されます。

catalina.YYYY-MM-DD.log

Tomcatのログが出力されます。これはコンソールに出力される内容と同じものです。 サービスの起動時、停止時にTomcatに関する情報も含まれます。

system.logと同様にログ出力があった際の日付に対応して、ログ出力されます。

なお「データベースに発行される SQL を確認する」にある、HibernateのSQL出力を有効にした場合(show_sqlにtrueを設定する)は、Webアプリケーションを実行するOSによって次のようになります。

Windows OS の場合
WindowsでWagbyビルダやstartup.batからWebアプリを起動した場合は、コンソールのみに出力され、本ログファイルには出力されません。
Linux OS の場合
コンソールおよび本ログファイルの両方に出力されます。

localhost.YYYY-MM-DD.log

Tomcat内で実行するウェブアプリケーションのログが出力されます。 サービスの起動時と停止時に (Wagbyが内部で利用しているミドルウェアである)SpringやQuartz(ジョブ実行用)のログが出力されます。

system.logと同様にログ出力があった際の日付に対応して、ログ出力されます。

ログ出力設定ファイル

system.log

system.log の出力先は log4j.properties というファイルで指定しています。 このファイルは wagbyapp\webapps\$(APPNAME)\WEB-INF\classes フォルダに用意されています。

ここで出力先の設定は次のように記述されています。

log4j.appender.F.File=${catalina.home}\logs\system.log

${catalina.home}とは、Tomcat の起点ディレクトリを指します。$(DEVHOME)\wagbyapp と同じです。 この部分を修正することで、出力先を変えることができます。

このファイルをカスタマイズした場合、$(DEVHOME)\customize\webpage\WEB-INF\src フォルダへ保存してください。

※ classes ではなく src です。

catalina.YYYY-MM-DD.log
localhost.YYYY-MM-DD.log

これらのファイルは logging.properties という設定ファイルで出力先が指定されています。 このファイルは wagbyapp\conf フォルダに用意されています。

ここで出力先の設定は次のように記述されています。

FileHandler.directory = ${catalina.base}\logs

${catalina.base}とは、Tomcat の起点ディレクトリを指します。$(DEVHOME)\wagbyapp と同じです。

このファイルをカスタマイズした場合、$(DEVHOME)\customize\tomcat_opt\conf フォルダへ保存してください。

ログのサイズ

Webアプリケーションが起動している間、ログファイルは増え続けます。

※ Wagbyが提供している「ファイル削除」や「ファイル圧縮」ジョブを使うことで、ログファイルの肥大化を抑える運用は可能です。ただこの場合も過去のログファイルはどこかへ保存するような運用を推奨します。ログはいざというときに監査証跡として使えるためです。

データベース操作用スクリプトファイルのログ

ビルドされたアプリケーションである wagbyapp について、bin フォルダ以下にある次のスクリプトファイルも、実行時にログを出力します。

  • check_db.bat (check_db.sh)
  • drop_db.bat (drop_db.sh)
  • export_db.bat (export_db.sh)
  • import_db.bat (import_db.sh)
  • init_db.bat (init_db.sh)

※ Linux 環境でご利用の場合は、拡張子が .sh のファイルをご利用ください。

check_db.bat (check_db.sh)

wagbyapp\binをカレントディレクトリにして実行します。実行結果は同ディレクトリにcheck_db.txtファイルとして出力されます。この出力位置はcheck_db.batファイル内で指定されています。

実行時のログファイルは wagbyapp\logs\initdb.log に出力されます。ただし警告以上のログがなければ、出力はされません。

このログファイルの詳細な設定は InitLoader.jar 内に含まれる log4j.properties で指定しています。(変更方法については後述します。)

またログファイル名は(system.logと同様に)出力が発生した日に対応するように日付情報が付与されます。 例えば initdb.log.20130130 といったファイル名となります。

drop_db.bat (drop_db.sh)
export_db.bat (export_db.sh)
import_db.bat (import_db.sh)
init_db.bat (init_db.sh)

wagbyapp\binをカレントディレクトリにして実行します。実行時のログファイルは wagbyapp\logs\initdb.log に出力されます。ただし警告以上のログがなければ、出力はされません。

このログファイルの詳細な設定は InitLoader.jar 内に含まれる log4j.properties で指定しています。(変更方法については後述します。)

またログファイル名は(system.logと同様に)出力が発生した日に対応するように日付情報が付与されます。 例えば initdb.log.20130130 といったファイル名となります。

ログ出力の詳細と変更方法

initdb.logは次の性質を備えています。

  • ログレベルは "WARN" となります。
  • ログはコンソールおよびファイルの両方に出力されます。

これを変更する場合は、次のように設定を行ってください。

  1. 設定を変更したいスクリプトファイルをテキストエディタで開きます。(ここでは export_db.bat を例とします。)
  2. 以下に示すように、-l オプションを使って、ログ出力情報が指定されたファイルを指定します。
    "%JAVA_HOME%\bin\java" -Xmx96m -XX:MaxPermSize=64m -Dcatalina.home=".." -jar InitLoader.jar export -all -check_exists_table true -c ..\webapps\wagby\WEB-INF\export\conf\initdb.xml -l exportlog.properties -d "%EXPDIR%"
    
  3. 上で指定した「exportlog.properties」ファイルを用意します。この例ではカレントフォルダ、すなわち export_db.bat と同じ場所に保存します。 フォルダを別途用意した場合は、export_db.bat が存在するフォルダである wagbyapp\bin からの相対パス指定を行うとよいでしょう。 exportlog.properties の例を以下に示します。
    log4j.rootCategory=WARN, C, F
    log4j.appender.C=org.apache.log4j.ConsoleAppender
    log4j.appender.C.layout=jp.jasminesoft.util.log4j.ThrowablePatternLayout
    log4j.appender.C.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p %c] %m%n
    log4j.appender.F=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.F.DatePattern='.'yyyy-MM-dd
    log4j.appender.F.File=../logs/exportdb.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%n
    
    ここでは、ログの出力先を「../logs/exportdb.log」へと変更しています。

その他のログ

Wagbyに同梱されているWebアプリケーションサーバTomcatをWindowsサービスに登録した場合、次のログが出力されます。

commons-daemon.YYYY-MM-DD

Windowsサービスの登録、起動、停止に関する処理のログが出力されます。

APPNAME-stderr.YYYY-MM-DD

Windowsサービスで起動した場合、startup.batで起動した際のコンソール出力がないため、この内容をファイルに出力します。 APPNAME-stderr.YYYY-MM-DDには、コンソール出力のうち標準エラー出力を保存します。

APPNAME-stdout.YYYY-MM-DD

Windowsサービスで起動した場合、startup.batで起動した際のコンソール出力がないため、この内容をファイルに出力します。 APPNAME-stderr.YYYY-MM-DDには、コンソール出力のうち標準出力を保存します。

これらのログはwagbyapp\bin\service.bat内で下記の環境変数にて設定されています。

set "PR_LOGPATH=%CATALINA_BASE%\logs"

これはログファイルの出力先で、具体的にはwagbyapp\logsを指します。

詳細は以下のドキュメントをお読み下さい。

このドキュメントで説明されている --LogPath が、上記環境変数 PR_LOGPATH に対応します。

変更履歴

R6.8 Update 4以降

本ドキュメントの内容に対応しています。

R6.8 Update 4 より前のバージョン

host-manager.YYYY-MM-DD.log が含まれていました。これはTomcatに標準で含まれている/host-managerへアクセスした際のログです。 Wagbyはビルド処理でこのフォルダを削除するため、ログが出力されることはありませんでした。

manager.YYYY-MM-DD.log が含まれていました。これはTomcatに標準で含まれている/managerへアクセスした際のログです。 Wagbyはビルド処理でこのフォルダを削除するため、ログが出力されることはありませんでした。

R6.5 より前のバージョン

admin.YYYY-MM-DD.log が含まれていました。これはTomcatに標準で含まれていた/ROOT/adminへアクセスした際のログです。 Wagbyはビルド処理でこのフォルダを削除するため、ログが出力されることはありませんでした。

R6.0.0 〜 R6.3.3まで

customize フォルダに置いても自動コピーが行われません。 ビルド後は log4j.properties などのファイルを手動でWEB-INF\classesフォルダなどへコピーしてください。

R5系

ビルド後は log4j.properties などのファイルを手動でWEB-INF\classesフォルダなどへコピーしてください。