15.10. RequestDumping ハンドラーについて
RequestDumping ハンドラーである、io.undertow.server.handlers.RequestDumpingHandler は、JBoss EAP 内で Undertow によって処理されるリクエストと対応するレスポンスオブジェクトの詳細をログに記録します。
このハンドラーはデバッグに便利ですが、機密情報がログに記録される可能性があります。この点に留意してこのハンドラーを有効にしてください。
RequestDumping ハンドラーは、JBoss EAP 6 の RequestDumperValve の代わりに使用されます。
RequestDumping ハンドラーは、JBoss EAP のサーバーレベルまたは個別のアプリケーション内のいずれかで設定できます。
15.10.1. サーバーでの RequestDumping ハンドラーの設定 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、式フィルターを使用してサーバーレベルで RequestDumping ハンドラーを設定する方法を説明します。
前提条件
- 管理 CLI にアクセスできる。
- サーバー設定を変更する権限がある。
手順
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 サーバーによって処理されるすべてのリクエストと対応するレスポンスがログに記録されます。
15.10.1.1. 特定の URL のハンドラーを設定する リンクのコピーリンクがクリップボードにコピーされました!
すべてのリクエストをログに記録する他に、特定の URL のリクエストやそれらの応答のみをログに記録するために式フィルターを使用することもできます。これには、path、path-prefix、path-suffix などの述語を式に使用します。たとえば、/myApplication/test へのリクエストとそれらの応答をすべてログに記録するには、式フィルターの作成時に式 "dump-request" の代わりに "path(/myApplication/test) -> dump-request" を使用します。これにより、/myApplication/test に完全一致するパスを持つリクエストのみが RequestDumping ハンドラーに送られます。
15.10.1.2. アプリケーション内での RequestDumping ハンドラーの設定 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、個々のアプリケーション内で RequestDumping ハンドラーを設定する方法を説明します。これにより、ハンドラーのスコープはその特定のアプリケーションに制限されます。
手順
-
アプリケーションで
WEB-INF/undertow-handlers.confファイルを作成または編集します。 このアプリケーションのすべてのリクエストと対応するレスポンスをログに記録するには、
undertow-handlers.confに次の行を追加します。---- dump-request ----または、アプリケーション内の特定の URL のリクエストとレスポンスをログに記録するには、式で述語を使用します。
/testは、アプリケーションのコンテキストルートを基準とした目的のパスに置き換えます。[source] ---- path(/test) -> dump-request ----注記アプリケーションの
WEB-INF/undertow-handlers.confで定義された式でpath、path-prefix、path-suffixなどの述語を使用する場合、使用される値はアプリケーションのコンテキストルートを基準とします。たとえば、アプリケーションのコンテキストルートが
/myApplicationで、式がpath (/test)としてを使用すると、dump-request /myApplication/testへのリクエストがログに記録されます。- 変更を適用する必要がある場合は、アプリケーションを再デプロイします。