WebOTX Manual V10.2 (第4版) 目次を表示 |
この節では業務アプリケーションからログを出力する方法について説明します。
業務アプリケーションからログを出力する方法として、以下を提供しています。
・JavaEE アプリケーション
JDK Logger、Log4JなどJavaライブラリを用いて出力する方法と、標準出力に出力する方法があります。Log4Jを利用する場合は次節を参照してください。
(※1) Log4Jなどのライブラリは業務アプリケーション側で用意する必要があります。
(※2) Log4j2-asはWebOTX内部コンポーネント専用のライブラリであり、業務アプリケーションのログ出力用ライブラリとしては機能を提供していません。
業務アプリケーションで用意したLog4Jを利用する場合、アプリケーションが利用するLog4J定義ファイルは、WEB-INF/classes以下に配置する必要があります。
WebOTX上で動作するJavaアプリケーションにおいて、Log4Jを利用する場合の注意点について説明します。
Standardで、アプリケーションをプロセスグループに配備して動作させる場合のログ出力の手順について説明します。
アプリケーションをプロセスグループに配備した場合、アプリケーションはプロセスグループ上で動作します。プロセスグループは、多重度を設定することができるため、ファイルにログ出力を行う場合、複数のプロセスが同じファイルに書き込みを行い、メッセージの欠損やローテート失敗によるメッセージの全損等の問題が発生する可能性があります。そのため、以下のいずれかの手順で問題を回避する必要があります。
アプリケーションのログをプロセスグループのログに出力するには、標準出力を利用します。プロセスグループ上で標準出力を行うと、プロセスグループのログファイルに出力されます。ログファイルは以下に出力されます。
${INSTANCE_ROOT}/logs/tpsystem/${APGNAME}/${PGNAME}/${PGNAME}.${PID}.log
アプリケーションのログを個別のファイルに出力する場合、出力するログファイル名に、アプリケーションが動作するプロセスのプロセスIDを付与することで、多重度を設定した場合でもプロセス単位にログを出力することができます。
(注意) ログ定義ファイルについて
プロセスグループ上でAPを動作させる場合、アプリケーションが利用するログ定義ファイルを、同一プロセスグループ上に配備されたアプリケーションごとに分けて利用することはできません。プロセスグループで同一のLog4J定義ファイルを使用してください。
Standard を利用している場合は、次のJavaシステムプロパティを利用することができます。
これらのJavaシステムプロパティをLog4Jのプロパティに指定することにより、プロセスIDの取得等が可能になります。
出力情報 | Javaシステムプロパティ名 |
---|---|
ホスト名 | com.nec.webotx.hostName (*1) |
ドメイン名 | domain.name |
System名 | jp.co.nec.WebOTX.SystemName |
アプリケーショングループ名 | jp.co.nec.WebOTX.APGroupName |
プロセスグループ名 | jp.co.nec.WebOTX.ProcessGroupName |
プロセスID | jp.co.nec.WebOTX.ProcessID |
トレースID | jp.co.nec.WebOTX.TraceID |
(注意) 上記のJavaシステムプロパティに指定する値は変更できません。変更した場合の動作は保証できません。
(*1) 本プロパティはプロセスグループ作成時にCORBAシステムを選択された場合、そのプロセスグループ上では使用できません。
標準出力を利用する場合、エディションまたはドメインの構成により以下のファイルへ出力されます。
標準出力の出力先ファイル(既定値はserver.log)に出力されます。
標準出力に出力したメッセージは、標準出力の出力先ファイル(既定値はserver.log)に出力されます。
標準出力に出力したメッセージは、サーバアプリケーショントレースログに出力されます。