通过回退设置Undertow日志级别

时间:2018-12-01 15:16:42

标签: java logging undertow

我正在将undertow用作项目中的嵌入式rest服务器。 该项目使用logback进行日志记录。 我想做的是通过我的logback配置来配置Undertow的所有日志记录。

我知道我可以通过这样传递系统属性来启用sl4fj:

System.setProperty("org.jboss.logging.provider", "slf4j"

但是,它似乎并没有配置Undertow的所有日志记录。 例如,如果我在处理程序中的HttpServerExchange对象上将http状态代码设置为501,则始终会看到RuntimeException出现。

此异常来自HttpServerExchange setStatusCode(...)方法。

public HttpServerExchange setStatusCode(final int statusCode) {
    if (statusCode < 0 || statusCode > 999) {
        throw new IllegalArgumentException("Invalid response code");
    }
    int oldVal = state;
    if (allAreSet(oldVal, FLAG_RESPONSE_SENT)) {
        throw UndertowMessages.MESSAGES.responseAlreadyStarted();
    }
    if(statusCode >= 500) {
        **if(UndertowLogger.ERROR_RESPONSE.isDebugEnabled()) {
            UndertowLogger.ERROR_RESPONSE.debugf(new RuntimeException(), "Setting error code %s for exchange %s", statusCode, this);
        }**
    }
    this.state = oldVal & ~MASK_RESPONSE_CODE | statusCode & MASK_RESPONSE_CODE;
    return this;
}

如何通过logback将UndertowLogger.ERROR_RESPONSE的日志级别设置为INFO?

谢谢

0 个答案:

没有答案