在dropwizard运行状况检查中禁用错误​​堆栈跟踪

时间:2015-02-12 13:53:05

标签: java exception dropwizard

每当我的健康检查失败时,它都会显示响应:

  "Health check Name": {
    "healthy": false,
    "error": {
      "message": null,
      "stack": [
            Stack Trace Message
      ]
    }
  },

我只想显示简单错误消息而不是堆栈跟踪。并将该异常存储在日志中或显示在控制台中。

2 个答案:

答案 0 :(得分:1)

根据source code,它看起来不是可配置的。每当发生异常时,运行状况检查将其包装并显示它。你必须让你的服务不要抛出异常,或者如果你不希望它被包装就把它包起来。

答案 1 :(得分:1)

进一步加入@ [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"
  },