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ロギング・フレームワークによって破棄されます。