2017-05-04 12 views
1

私は最近、Spring Boot 1.4.1、Spring Cloud Sleuth 1.1.0、Spring Cloud Zipkin 1.1.0からSpring Boot 1.5.3、Spring Cloud Sleuth 1.2.0、SpringからプロジェクトをアップグレードしましたCloud Zipkin 1.2.0。@ControllerAdviceを使ったSleuth/Zipkinトレース

Spring Cloud Sleuthの最新バージョンでは、例外の場合にZipkinに自動的に報告される「エラー」タグが追加されました。

カスタム例外処理のためにResponseEntityExceptionHandlerを拡張した@ControllerAdviceクラスがあります。私はトレーサにエラーを報告し、古いバージョン(Spring Boot 1.4.1、Spring Cloud Sleuth 1.1.0、Spring Cloud Zipkin 1.1.0)を以下の方法で使用するとZipkinで同じことを視覚化することができました:

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

それはすばらしいと非常に役に立つでしょう:) –

答えて

関連する問題