如果泽西岛发生500服务器错误,我怎样才能获得堆栈跟踪?

时间:2017-08-18 13:27:13

标签: maven jersey-2.0 grizzly

在泽西服务器中我遇到服务器500错误:

  • 在服务器响应中没有堆栈跟踪或某些信息。

  • 在Eclipse控制台中没有异常堆栈跟踪

我尝试在服务器中捕获异常并在控制台中打印跟踪,但没有任何反应

如果发生500服务器错误,如何获得堆栈跟踪?

1 个答案:

答案 0 :(得分:2)

大多数情况下,通用ExceptionMapper都可以解决问题。

@Provider
public class DebugMapper implements ExceptionMapper<Throwable> {
    @Override
    public Response toResponse(Throwable t) {
        t.printStackTrace()
        return Response.serverError()
            .entity(t.getMessage())
            .build();
    }
}

然后只需注册

ResourceConfig config = new ResourceConfig()
        .register(DebugMapper.class);

有时,如果未映射异常,Jersey会吞下异常,您将看不到发生了什么。当问题出现在泽西岛时,这通常有效。

另见: