当 Jersey 发生 500 服务器错误时,如何获取堆栈跟踪?
How can I get the stack trace when 500 server error happens in Jersey?
在球衣服务器中出现服务器 500 错误:
在服务器响应中没有堆栈跟踪或一些信息。
在 Eclipse 控制台中没有异常堆栈跟踪
我尝试在服务器中捕获异常并在控制台中打印跟踪,但没有任何反应
发生 500 服务器错误时如何获取堆栈跟踪?
大多数时候,通用 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吞掉,你看不到发生了什么。当问题出在 Jersey 级别时,这通常有效。
另请参阅:
在球衣服务器中出现服务器 500 错误:
在服务器响应中没有堆栈跟踪或一些信息。
在 Eclipse 控制台中没有异常堆栈跟踪
我尝试在服务器中捕获异常并在控制台中打印跟踪,但没有任何反应
发生 500 服务器错误时如何获取堆栈跟踪?
大多数时候,通用 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吞掉,你看不到发生了什么。当问题出在 Jersey 级别时,这通常有效。