java / jersey:记录所有异常

时间:2014-07-16 03:17:11

标签: java rest jersey

我希望我的ExceptionMapper捕获所有异常并记录它们......我现在正在使用Jersey 2.0。

我有一个像这样的异常映射器:

@Provider
public class RestExceptionMapper implements ExceptionMapper<Exception> {
    @Override
    public Response toResponse(Exception e) {
        log(e);
        if (e instanceof WebApplicationException) {
            return ((WebApplicationException) e).getResponse();
        }  else {
            return buildResponse(e);
    }

仅针对非WebApplication应用程序异常调用此异常映射器。

如何使一个全局异常映射器捕获所有异常,以便我可以记录它们。还有其他方法可以解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:1)

从处理此问题的Jersey的源代码来看,无法使用ExceptionMapper来执行此操作。 WebApplicationExceptions从来没有映射过特殊待遇。

记录所有异常的一种方法是将记录器org.glassfish.jersey.server.ServerRuntime设置为FINER