WebLogic Deploy Toolingには、java.util.loggingに基づいた組込みロギング・フレームワークがあります。 ロギング構成は、$WDT_HOME/etc/logging.propertiesで指定されます。 デフォルトでは、ロギング・フレームワークはコンソールとログ・ファイルの両方に書き込みます。
デフォルトでは、WDTツールはログ・ファイルを$WDT_HOME/logsディレクトリに書き込み、ログ・ファイル名はツールの名前を反映します。 たとえば、validateModelツールを実行すると、ログ・ファイルは$WDT_HOME/logs/validateModel.logになります。 これらのログファイルは、特定のツールを実行するたびに上書きされるため、ファイルに最後のツール呼び出しのログだけが含まれます。
$WDT_HOME/logsディレクトリがツールを実行しているユーザーによって書込み可能でない場合、ロギング・フレームワークはログを書き込むロケーションを検索します。 選択するには、ディレクトリに対する書込み権限が必要です。 検索順序は、次のとおりです。
WLSDEPLOY_LOG_DIRECTORY環境変数を確認します。user.dir Javaシステム・プロパティで定義)を確認し、logsサブディレクトリを作成します。java.io.tmpdir Javaシステム・プロパティで定義)を確認し、wdt-logsサブディレクトリを作成します。これらのロケーションがいずれも書込み可能でない場合、ロギング・フレームワークはエラー・メッセージをstderrに出力して終了します。
WDTツールは、必要に応じてロギング情報をstdoutおよびstderrに出力します。 デフォルトでは、INFOレベルのメッセージのみがstdoutに送信されます。 すべてのWARNINGおよびSEVEREメッセージは、stderrに設定されます。 ツールの実行時に生成される通常のログ・メッセージに加えて、ツールの実行終了時にサマリーが生成され、ツールの実行ステータスの概要がユーザーに提供されます。 たとえば、警告やエラーなしでvalidateModelツールを実行すると、次のような出力が生成されます:
Issue Log for validateModel version 2.0.0 running WebLogic version 12.2.1.4.0.210930 offline mode:
Total: WARNING : 0 SEVERE : 0
前述のとおり、WDTのロギング・フレームワークはjava.util.loggingに基づいているため、java.utiul.logging.Levelクラスで定義されているすべてのロギング・レベルがWDTロガーに適用されます。 これらのレベルのクイック・レビューについては、javadocを参照してください。
WDTでは、実行されるコードの目的に沿った階層ロガーが使用されます。 ルート・ロガーの名前はwlsdeployです。 ルート・ロガーの下には、wlsdeploy.create、wlsdeploy.discover、wlsdeploy.utilなどの多くのロガーがあります。 デフォルトでは、WDT logging.propertiesファイルはルートのロギング・レベルといくつかの重要なロガーを設定します。 特定のロガーのレベルが設定されていない場合、そのロガーはその親ロガーのレベルを使用します。 親ロガーへのこの委任は、使用するレベルが見つかるまで階層を再帰的に増加します。
WDTでは、ログ・ファイルはロガーのlevelに基づいてすべてのログ出力からログ・エントリを収集しますが、コンソール出力はINFO以上に制限されます。 コンソールに書き込まれたログ・エントリには、ログ・エントリに関連付けられた例外スタック・トレースは表示されません。 それらを表示するには、ログファイルを調べる必要があります。 WDTロギング・フレームワークでは、wlsdeploy.debugToStdout Javaシステム・プロパティを使用してデバッグ・ログ・メッセージ(FINEレベル以下でログに記録されたメッセージ)をstdoutに表示できます(メッセージが記録されるロガーがそれらのログ・レベルをフィルタリングしていないかぎり)。 たとえば、次を実行するとデバッグ出力がコンソールに書き込まれます:
export WLSDEPLOY_PROPERTIES=-Dwlsdeploy.debugToStdout=true
weblogic-deploy/bin/prepareModel.sh ...
WDTでは、複数のログ・ハンドラを使用して、様々なソースへのデータのロギング出力を処理します。
| ログ・ハンドラ | 出力宛先 | 説明 |
|---|---|---|
java.util.logging.FileHandler |
WDTツール・ログ・ファイル | 標準のjava.util.loggingファイル・ハンドラ。 |
oracle.weblogic.deploy.logging.StdoutHandler |
stdout |
INFOレベルのメッセージをコンソールに書き込むWDTハンドラ。 |
oracle.weblogic.deploy.logging.StderrHandler |
stderr |
WARNINGおよびSEVEREレベルのメッセージをコンソールに書き込むWDTハンドラ。 |
oracle.weblogic.deploy.tooling.SummaryHandler |
stdout |
ツールの実行サマリー情報をコンソールに書き込むWDTハンドラ。 |
デフォルトでは、4つのハンドラがすべて適切に使用および構成されます。 ロギング・フレームワークは、これらのハンドラの構成可能性を意図的に制限します。 次のlogging.propertiesファイル設定のみが許可されます。
| プロパティ | 許可される値 | 設定時の動作 |
|---|---|---|
handlers |
ハンドラのカンマ区切りリスト | 使用するハンドラのリスト(リストからハンドラを削除することは、levelプロパティをOFFに設定することと同じです)。 |
java.util.logging.FileHandler.level |
OFF |
ロギング出力はログ・ファイルに保存されません。 |
oracle.weblogic.deploy.logging.StdoutHandler.level |
OFF |
INFOレベルのロギング出力はコンソールに書き込まれません。 |
oracle.weblogic.deploy.logging.StderrHandler.level |
OFF |
WARNINGまたはERRORレベルのロギング出力はコンソールに書き込まれません。 |
oracle.weblogic.deploy.logging.SummaryHandler.level |
OFF |
ツール実行のサマリー出力はコンソールに書き込まれません。 |
oracle.weblogic.deploy.logging.SummaryHandler.size |
任意の数値 | メモリー・バッファリングされたWARNINGおよびERRORログ・レコードの数を制限します(デフォルトは3000です)。 |
logging.propertiesファイルのhandlersプロパティでハンドラのリストを指定するかわりに、WLSDEPLOY_LOG_HANDLERS環境変数を使用します。
これらのログ・ハンドラに他の構成を設定しようとすると、起動時にWDTロギング・フレームワークによって破棄されます。