17.12. RequestDumping ハンドラーの設定
RequestDumping ハンドラーである io.undertow.server.handlers.RequestDumpingHandler は、JBoss EAP 内で Undertow によって処理されるリクエストとその応答オブジェクトの詳細をログに記録します。
このハンドラーはデバッグに便利ですが、機密情報がログに記録される可能性があります。この点に留意してこのハンドラーを有効にしてください。
RequestDumping ハンドラーは、JBoss EAP の以前のバージョンの RequestDumperValve を置き換えます。
RequestDumping ハンドラーは、JBoss EAP のサーバーレベルまたは個別のアプリケーション内のいずれかで設定できます。
17.12.1. サーバーでの RequestDumping ハンドラーの設定
RequestDumping ハンドラーは式フィルターとして設定する必要があります。RequestDumping ハンドラーを式フィルターとして設定するには、以下を行う必要があります。
RequestDumping ハンドラーで新しい式フィルターを作成する
/subsystem=undertow/configuration=filter/expression-filter=requestDumperExpression:add(expression="dump-request")
/subsystem=undertow/configuration=filter/expression-filter=requestDumperExpression:add(expression="dump-request")
Undertow Web サーバーで式フィルターを有効にする
/subsystem=undertow/server=default-server/host=default-host/filter-ref=requestDumperExpression:add
/subsystem=undertow/server=default-server/host=default-host/filter-ref=requestDumperExpression:add
このように RequestDumping ハンドラーを式フィルターとして有効にすると、Undertow Web サーバーによって処理されるすべてのリクエストおよびそれらの応答がログに記録されます。
特定 URL に対して RequestDumping ハンドラーを設定する
すべてのリクエストをログに記録する他に、特定の URL のリクエストやそれらの応答のみをログに記録するために式フィルターを使用することもできます。これには、path、path-prefix、path-suffix などの述語を式に使用します。たとえば、/myApplication/test へのリクエストとそれらの応答をすべてログに記録するには、式フィルターの作成時に式 "dump-request" の代わりに "path(/myApplication/test) -> dump-request" を使用します。これにより、/myApplication/test に完全一致するパスを持つリクエストのみが RequestDumping ハンドラーに送られます。
17.12.2. アプリケーション内での RequestDumping ハンドラーの設定
サーバーで RequestDumping ハンドラーを設定する他に、個別のアプリケーション内で設定することもできます。これにより、ハンドラーの範囲がそのアプリケーションのみに制限されます。RequestDumping ハンドラーは WEB-INF/undertow-handlers.conf で設定する必要があります。
指定のアプリケーションのすべてのリクエストとそれらの応答をログに記録するよう WEB-INF/undertow-handlers.conf で RequestDumping
ハンドラーを設定するには、以下の式を WEB-INF/undertow-handlers.conf
に追加します。
例: WEB-INF/undertow-handlers.conf
dump-request
dump-request
指定のアプリケーション内での特定 URL のリクエストやそれらの応答のみをログに記録するよう、WEB-INF/undertow-handlers.conf で RequestDumping
ハンドラーを設定するには、path、path-prefix、path-suffix などの述語を式に使用します。たとえば、アプリケーションの test へのリクエストとそれらの応答をすべてログに記録するには、path 述語が含まれる以下の式を使用できます。
例: WEB-INF/undertow-handlers.conf
path(/test) -> dump-request
path(/test) -> dump-request
path、path-prefix、path-suffix などの述語をアプリケーションの WEB-INF/undertow-handlers.conf
に定義された式で使用する場合、使用する値はアプリケーションのコンテキストルートからの相対値になります。たとえば、アプリケーションのコンテキストルートは myApplication で、式 path(/test) -> dump-request が WEB-INF/undertow-handlers.conf に設定されている場合、/myApplication/test へのリクエストとそれらの応答のみがログに記録されます。