84022


Java8、Wildfly 10.1.0 を使っています。  
JAX-
RSで作ったWebAPI上で、未処理例外が発生した場合、自動的に`ERROR`レベルのログがスタックトレース含めて出力されますが、これを自分で制御する方法を探しています。

具体的には、特定の例外の場合だけ、ログを出力したくない（せめてINFO等の別レベルで出力したい）のです。

[この記事](https://access.redhat.com/documentation/en-
us/jboss_enterprise_application_platform/6.1/html/development_guide/sect-
exception_handling)により、未処理例外に対するHTTPレスポンスの独自制御はできました。  
しかしこの`toResponse`メソッドに到達した時点で、すでに`ERRPR`のログが出力されています。  
つまり、これより前のどこかに介入する必要がありそうなのですが、その方法が分かりません。

どなたかご存知でしょうか。


CC BY-SA 4.0
2021-12-08T01:56:13.737
84016
2021-12-08T06:32:46.490
8078
question
java wildfly jboss
Wildflyで未処理例外のログ出力を制御したい


フレームワークが出力している、

[code]

    14:41:48,768 ERROR [io.undertow.request] (default task-10) UT005023: Exception handling request to ...
    
[/code]

のようなログは、[logging subsystem
の設定](https://docs.wildfly.org/25/Admin_Guide.html#Logging) で制御することになると思います。

  * [設定項目詳細](https://docs.wildfly.org/25/wildscribe/subsystem/logging/index.html)

`standalone.xml`(等)を開いて `urn:jboss:domain:logging`
で検索すると該当箇所がヒットしますので、そこに設定を追加します。

[code]

            <subsystem xmlns="urn:jboss:domain:logging:3.0">
                ...
                <logger category="io.undertow.request">
                    <level name="OFF"/>
                </logger>
                ...
            </subsystem>
    
[/code]

上記の設定の場合、例外ログを含めた全ての `io.undertow.request` カテゴリのログが出力されなくなります。

ある特定の例外ログだけ出力を抑制する、というのは不可能だと思います。  
(代替策としては、上記のように追加設定した `logger` にカスタム `handler`
を設定することで、出力先を変えたり出力フォーマットを変えたりすることが考えられます。)


CC BY-SA 4.0
2021-12-08T06:26:13.037
84022
2021-12-08T06:32:46.490
2021-12-08T06:32:46.490
2808
2808
84016
answer