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