пользовательский ключ багажа не отображается в журналах с сыном Spring Spring - PullRequest
0 голосов
/ 19 марта 2020

Не видно пользовательского идентификатора багажа в журналах микросервиса при загрузке. Ниже приведены следующие шаги. 1. Используется spring-cloud-starter-sleuth 2.2.1. Выпуск с Springboot 2.2.0. Отрывок из пом- <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId><br> <version>2.2.0.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> <version>2.2.1.RELEASE</version> </dependency>

Оба свойства в application.propertieswhere установлены как:

spring.sleuth.baggage-keys=baggage-TraceId

spring.sleuth.log.slf4j.whitelisted-mdc-keys=baggage-TraceId.

logback-spring. xml устанавливается с помощью этого baggage-TraceId.

<?xml version="1.0" encoding="UTF-8"?>

<springProperty scope="context" name="springName" source="spring.application.name" defaultValue=""/>
<!-- You can override this to have a custom pattern -->
<property name="CONSOLE_LOG_PATTERN"
          value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p [${springName},%X{traceId:-},%X{parentId:-},%X{spanId:-},%X{baggage-TraceId:-}]) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%t]){faint}  %clr(%logger{20}:%line){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

<!-- Logging configuration -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>${CONSOLE_LOG_PATTERN}</pattern>
    </encoder>
</appender>
   <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE"/>
    </root>

в фильтре, установите значение заголовка, полученное из запроса на обслуживание.

public void doFilter(ServletRequest req, ServletResponse res, FilterChain 
filterChain) throws IOException, ServletException {

log.info("In Filter-START");

ExtraFieldPropagation.set("baggage-TraceId","1234");

log.info("In Filter-END"+ExtraFieldPropagation.get("baggage-TraceId"));

}

...