gpt4 book ai didi

jboss - JAX RS WebApplicationException 不记录

转载 作者:行者123 更新时间:2023-12-01 09:57:16 37 4
gpt4 key购买 nike

我将一个 bean 注入(inject)到我的 REST web 服务中,然后从我的 bean 中调用一个方法,在该方法中抛出以下异常:

throw new WebApplicationException(Response.status(Response.Status.NOT_FOUND)).build());

孔堆栈轨迹被打印出来。如何避免打印?

最佳答案

老问题,但也许有人仍然需要这个问题的答案:

您可以为此使用 ExceptionMapper。这是我们使用的:

package at.chex.archichexture.exceptions;

import javax.inject.Inject;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import org.slf4j.Logger;

/**
* @author cheX GmbH Austria {@literal chex@chex.at}
* @author Jakob Galbavy {@literal jg@chex.at}
* @since 19.06.18
*/
@Provider
public class WebApplicationExceptionMapper implements ExceptionMapper<WebApplicationException> {

@Inject
private Logger log;

@Override
public Response toResponse(WebApplicationException webApplicationException) {
int status = webApplicationException.getResponse().getStatus();
if (status >= 400 && status < 500) {
log.warn("Returning Error ({}): {}", status, webApplicationException.getLocalizedMessage());
} else {
log.error("Exception in Webservice {}", status, webApplicationException);
}
return webApplicationException.getResponse();
}
}

关于jboss - JAX RS WebApplicationException 不记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34472438/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com