簡體   English   中英

如何使用 Spring Sleuth 2.0 記錄 MDC?

[英]How to log MDC with Spring Sleuth 2.0?

參考How to log MDC with Spring Sleuth 中的問題/答案 我認為這已經/將隨着 spring-cloud 2.0 改變(d),因為不再有SpanLoggerSlf4jSpanLogger (或者我找不到它)

如果應用程序屬性spring.sleuth.baggage-keysspring.sleuth.propagation-keys如果設置也將放在 MDC 中,我認為在Slf4jCurrentTraceContext會不會Slf4jCurrentTraceContext (因為這個類目前是final我不能子類化它)

如果沒有,我如何相應地使用 spring-cloud 2.0 實現這一點?

我們不想把所有條目都放在 MDC 中(這真的沒有多大意義)。 然而,您可以復制Slf4jCurrentTraceContext並以您想要的方式擴展它(並將其注冊為 bean),或者創建您自己的CurrentTraceContext實現,該實現將通過 Bean 后處理器包裝現有的CurrentTraceContext並執行附加邏輯。 我想第一個選項更可取。

2.1.0版本中,引入了Slf4jScopeDecorator ,它會自動將行李值添加到 MDC,只要它們在spring.sleuth.log.slf4j.whitelisted-mdc-keys配置中被列入白名單。

例如,如果您有以下配置:

spring.sleuth.baggage-keys=key1,key2
spring.sleuth.log.slf4j.whitelisted-mdc-keys=key2

只有key2的值會自動添加 MDC,而不是key1的值。

有關更多信息,請參閱: https : //cloud.spring.io/spring-cloud-sleuth/reference/html/#prefixed-fields

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM