「ログレベル」は、ログに記録するメッセージの粒度を決定します。ここには、エラーのみ (SEVERE) から詳細なデバッグ情報 (FINEST) までのいずれかを指定します。選択できる値は、SEVERE、WARNING、INFO、CONFIG、FINE、FINER、および FINEST です。各ログレベルは上位のレベルを含みます。つまり、特定のログレベル (たとえば、INFO) を設定した場合、これより上位のログレベル (SEVERE および WARNING) のメッセージも記録されます。もっとも低いログレベル (FINEST) に設定した場合、出力にはファイルのすべてのメッセージが含まれます。デフォルト設定は、INFO です。
ログレベルの設定には、グローバル設定とロガー固有の設定の 2 つを利用できます。ロガー固有の設定を選択し、この設定がグローバル設定と異なる場合は、ロガー固有の設定が優先されます。
グローバルログレベルを設定するには、logging.properties ファイルを編集します。モジュールごとのログレベルは、この節で説明するように asadmin サブコマンドを使用して設定します。
ログレベルの設定は動的な処理であるため、変更を有効にするために Enterprise Server を再起動する必要はありません。
ここでは、次のテーマを取り上げます。
モジュールと各モジュールの現在のログレベルを一覧表示するには、リモートモードで list-logger-levels サブコマンドを使用します。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
list-logger-levels(1) サブコマンドを使用して、既存のモジュールのロガーを一覧表示します。
この例では、既存のロガーの一部と、各ロガーで設定されているログレベルを一覧表示します。
asadmin> list-logger-levels javax.enterprise.system.container.cmp: INFO javax.enterprise.system.tools.admin: INFO java.util.logging.ConsoleHandler: FINEST javax.enterprise.system.container.web: INFO javax.enterprise.system.util: INFO javax.enterprise.resource.webcontainer.jsf.timing: INFO javax: INFO javax.enterprise.resource.corba: INFO ... Command list-logger-levels executed successfully. |
コマンド行に asadmin help list-logger-levels と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。
「グローバルログレベル」は、すべてのロガーで記録されるイベントの種類を指定します。コンソールへのメッセージ出力のデフォルトレベルは INFO です。このレベルには、SEVERE と WARNING のメッセージも含まれます。
グローバルロギングは、logging.properties ファイルを編集して設定します。デフォルトの logging.properties ファイルは、domain.xml ファイルと同じディレクトリにあり、通常は domain-dir/config に保存されています。java.util.logging.config.file システムプロパティーにファイル名を指定して、別のファイルを選択することもできます。たとえば、次のように指定します。
java -Djava.util.logging.config.file=myfile |
ConsoleHandler には、表示されるメッセージを制限する独立したログレベル設定があります。次に例を示します。
java.util.logging.ConsoleHandler.level = INFO java.util.logging.ConsoleHandler.formatter = com.sun.enterprise.server.logging.UniformLogFormatter |
ログレベルをルートレベルで設定すると、すべてのロガーのレベルを設定できます。この例では、すべてのロガーのログレベルを INFO に設定します。
.level= INFO
「モジュールログレベル」は、特定のロガーで記録するイベントの種類を指定します。コンソールへのメッセージ出力のデフォルトレベルは INFO です。このレベルには、SEVERE と WARNING のメッセージも含まれます。グローバルログレベルは、モジュールに固有のログレベルで上書きされます。
デフォルトでは、モジュールログレベルは FINE に設定されます。ロガーを設定する行は次のようになります。太字はモジュールを示しています。
#javax.enterprise.system.tools.level=FINE #javax.enterprise.system.container.ejb.level=FINE #javax.enterprise.system.core.security.level=FINE #javax.enterprise.system.tools.admin.level=FINE #javax.enterprise.level=FINE #javax.enterprise.system.container.web.level=FINE |
ログレベルの設定は動的な処理であるため、変更を有効にするために Enterprise Server を再起動する必要はありません。
サーバーが実行されていることを確認します。
リモートサブコマンドには、実行中のサーバーが必要です。
list-logger-levels(1) サブコマンドを使用して、既存のモジュールのロガーを一覧表示します。
set-log-level(1) サブコマンドを使用して、モジュールのログレベルを設定します。
選択できる値は、SEVERE、WARNING、INFO、CONFIG、FINE、FINER、および FINEST です。
この例では、Web コンテナロガーのログレベルを FINE に設定します。
asadmin> set-log-level javax.enterprise.system.container.web.level=FINE Command set-log-level executed successfully. |
この例では、セキュリティーロガーと Web コンテナロガーのログレベルを設定します。
asadmin> set-log-level javax.enterprise.system.core.security.level=FINE javax.enterprise.system.container.web=WARNING Command set-log-level executed successfully. |
コマンド行に asadmin help set-log-level と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。