11.5.9. Async ログハンドラーの設定

ここでは、管理 CLI を使用して Async ログハンドラーを設定する方法を説明します。管理コンソールでは、ConfigurationSubsystemsLoggingConfiguration と選択し、表示 をクリックして HandlerAsync Handler と選択すると、Async ログハンドラーを設定することができます。

Async ログハンドラーを設定するために実行する主なタスクは以下のとおりです。

重要

ロギングプロファイルにこのログハンドラーを設定する場合、コマンドの最初は /subsystem=logging/ ではなく /subsystem=logging/logging-profile=LOGGING_PROFILE_NAME/ になります。

さらに、管理対象ドメインで実行している場合はコマンドの前に /profile=PROFILE_NAME を付けます。

Async ログハンドラーの追加

Async ログハンドラーを追加するときにキューの長さを指定する必要があります。これは、キューに保持できるログリクエストの最大数のことです。

/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:add(queue-length=QUEUE_LENGTH)
サブハンドラーの追加

1 つ以上のハンドラーを Async ログハンドラーのサブハンドラーとして追加できます。ハンドラーが設定に存在しないと、このコマンドの実行に失敗するため注意してください。

/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:add-handler(name=HANDLER_NAME)
Async ログハンドラーの設定

必要性に応じて、以下の Async ログハンドラー属性を 1 つ以上設定する必要がある場合があります。利用できる Async ログハンドラー属性の完全リストと説明は、「Async ログハンドラーの属性」を参照してください。

  • ログレベルを設定します。

    ハンドラーの適切なログレベルを設定します。デフォルトは ALL です。利用できるオプションは、「ログレベル」を参照してください。

    /subsystem=logging/async-handler=ASYNC_HANDLER_NAME:write-attribute(name=level,value=LEVEL)
  • オーバーフローアクションを設定します。

    オーバーフローが発生したときに行うアクションを設定します。デフォルトの値は BLOCK で、キューが満杯になるとスレッドがブロックされます。この値を DISCARD に変更すると、キューが満杯になったときにログメッセージが破棄されます。

    /subsystem=logging/async-handler=ASYNC_HANDLER_NAME:write-attribute(name=overflow-action,value=OVERFLOW_ACTION)
  • フィルター式を設定します。

    ハンドラーのログメッセージをフィルターするために式を設定します。必ずコンマと引用符はエスケープ処理し、引用符で囲むようにしてください。たとえば、以下の置換可能な FILTER_EXPRESSION 変数では、not(match("WFLY")) のフィルター式を "not(match(\"WFLY\"))" に置き換える必要があります。

    /subsystem=logging/async-handler=ASYNC_HANDLER_NAME:write-attribute(name=filter-spec, value=FILTER_EXPRESSION)

    利用可能なフィルター式の詳細は「フィルター式」の項を参照してください。

Async ログハンドラーのロガーへの割り当て

ログハンドラーをアクティブにするには、ロガーに割り当てる必要があります。

以下の管理 CLI コマンドは Async ログハンドラーをルートロガーに割り当てます。

/subsystem=logging/root-logger=ROOT:add-handler(name=ASYNC_HANDLER_NAME)

以下の管理 CLI コマンドは、名前が CATEGORY によって指定されるロガーに Async ログハンドラーを割り当てます。

/subsystem=logging/logger=CATEGORY:add-handler(name=ASYNC_HANDLER_NAME)
Async ログハンドラーの削除

ログハンドラーは remove 操作で削除できます。ログハンドラーが現在ロガーに割り当てられている場合は削除できません。

/subsystem=logging/async-handler=ASYNC_HANDLER_NAME:remove