[英]How to log MDC with Spring Sleuth 2.0?
參考How to log MDC with Spring Sleuth 中的問題/答案? 我認為這已經/將隨着 spring-cloud 2.0 改變(d),因為不再有SpanLogger
或Slf4jSpanLogger
(或者我找不到它)
如果應用程序屬性spring.sleuth.baggage-keys
和spring.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.