跟踪我最近升级我的项目从春天引导1.4.1,春季云猎犬1.1.0,春季云基普金1.1.0与Spring 1.5.3引导,春季云猎犬1.2.0,春天云Zipkin 1.2.0。猎犬/基普金与@ControllerAdvice
阅读与Spring云猎犬的最新版本,他们已经增加,这将在任何异常的情况下,自动获得报告基普金“错误”的标签。
我有一个自定义的异常处理扩展ResponseEntityExceptionHandler一个@ControllerAdvice类。我能够使用以下方法向Tracer报告错误并在Zipkin中显示相同的内容(Spring Boot 1.4.1,Spring Cloud Sleuth 1.1.0,Spring Cloud Zipkin 1.1.0):
private void reportErrorSpan(String errorDesc, String message) {
if(tracer != null) {
Span span = tracer.getCurrentSpan();
span.logEvent("ERROR: " + message);
tracer.addTag("error", errorDesc);
}
}
我升级之后,这似乎并没有工作和春季云侦探的默认错误报告也没有发生。只有在注释掉@ControllerAdvice并让Spring Boot的默认ErrorController处理异常之后,我才能看到Zipkin中的错误。但是,我们需要自定义异常处理,以标准方式将错误响应格式化为所有PaaS服务中的错误代码。有没有办法做到这一点?我是否应该使用其他Sleuth物件来达到这个目的?
可你的地方张贴您的样品,所以我可以调试呢?这样我就会知道你正在使用哪个版本的Sleuth/Boot以及如何复制它。 –
@MarcinGrzejszczak我使用Spring Boot 1.5.3.RELEASE和Spring Cloud Sleuth/Zipkin 1.2.0.RELEASE。我将无法发布实际项目。将尝试创建一个样本。 –
这将是伟大的,非常有帮助:) –