ログの扱い

最終更新日: 2022年3月24日
R8 | R9

さまざまなログファイル

system.log

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

このファイルはログが発生した日付時刻に応じて出力されます。

catalina.YYYY-MM-DD.log

Tomcat本体に関するログです。サービスの起動時、停止時の情報も含まれます。

system.logと同様に、ログが発生した日付時刻に応じて出力されます。

コンソールに出力される catalina.out とは異なります。catalina.out はローテートされません。これは Tomcat の仕様です。catalina.out のローテートは別のソフト (例 logrotate) を使うようにしてください。

Hibernate の SQL 出力を有効にした場合

HibernateのSQL出力を有効にした場合、wagbyアプリケーションを実行するOSによって次のようになります。

Windows OS の場合

コンソールのみに出力されます。本ログファイルには出力されません。

Linux OS の場合

コンソールおよび本ログファイルの両方に出力されます。

localhost.YYYY-MM-DD.log

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

system.logと同様に、ログが発生した日付時刻に応じて出力されます。

ログファイルの出力先

system.log

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

標準では、出力先の設定は次のようなっています。

<Properties>
  <Property name="loglayout">%d{yyyy-MM-dd HH:mm:ss} [%p %c %M] %m%n</Property>
  <Property name="basedir">${sys:catalina.base:-..}</Property>
  <Property name="filename">system</Property>
</Properties>

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

この log4j2.xml ファイルをカスタマイズした場合、$(DEVHOME)\customize\resources フォルダへ保存してください。次回以降のビルドでカスタマイズファイルが反映されます。

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

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

標準では、出力先の設定は次のようなっています。

1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs

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

このファイルをカスタマイズした場合、$(DEVHOME)\customize\tomcat\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

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

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

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

drop_db,export_db,import_db,init_db

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

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