2017-05-04 41 views
1

跟踪我最近升级我的项目从春天引导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物件来达到这个目的?

+0

可你的地方张贴您的样品,所以我可以调试呢?这样我就会知道你正在使用哪个版本的Sleuth/Boot以及如何复制它。 –

+0

@MarcinGrzejszczak我使用Spring Boot 1.5.3.RELEASE和Spring Cloud Sleuth/Zipkin 1.2.0.RELEASE。我将无法发布实际项目。将尝试创建一个样本。 –

+1

这将是伟大的,非常有帮助:) –

回答