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"
  },