我正在将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?
谢谢