Java 在dropwizard运行状况检查中禁用错误堆栈跟踪
每当我的健康检查失败时,它会显示以下响应:Java 在dropwizard运行状况检查中禁用错误堆栈跟踪,java,exception,dropwizard,Java,Exception,Dropwizard,每当我的健康检查失败时,它会显示以下响应: "Health check Name": { "healthy": false, "error": { "message": null, "stack": [ Stack Trace Message ] } }, 我只想显示一条简单的错误消息,而不是它的堆栈跟踪。并将该异常存储在日志中或显示在控制台中。根据配置,它看起来不是可配置的。无论何时发生异常,运行状况
"Health check Name": {
"healthy": false,
"error": {
"message": null,
"stack": [
Stack Trace Message
]
}
},
我只想显示一条简单的错误消息,而不是它的堆栈跟踪。并将该异常存储在日志中或显示在控制台中。根据配置,它看起来不是可配置的。无论何时发生异常,运行状况检查都会将其包装并显示。如果您不想让异常执行,您必须确保您的服务不会抛出异常或将其包装。进一步添加到@[Kai Sternad]的答案中,我在testHeathCheck中重写HealthCheck类的execute方法,如下所示:
@Override
public Result execute() {
try {
return check();
} catch (Exception e) {
LOG.error(e);
return Result.unhealthy("User defined error message");
}
}
的HealthCheck响应失败案例:
"Health check Name": {
"healthy": false,
"message": "User defined error message"
},