Stackdriver Logging | Отсутствуют TraceId и SpanId - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь интегрировать SpringBootApplication (микросервис) с StackdriverLogging, используя spring-cloud-gcp-starter-logging . Я могу видеть журналы в GCP, но в журналах отсутствуют traceId и SpanId. Для этого я также пытался использовать Spring-cloud-sleuth, но поскольку я использую apache kafka в моем микросервисном сыщике, он не работает должным образом. Может ли кто-нибудь помочь мне, как я могу добавить информацию traceId и SpanId в журналы ??

POM. xml Конфигурация:

    <spring-cloud.version>Hoxton.SR1</spring-cloud.version>
    <dependencyManagement>
          <dependencies>
             <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
             </dependency>
          </dependencies>
    </dependencyManagement>

    <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-gcp-starter-logging</artifactId>
    </dependency>

logback. xml:

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

<configuration>
     <include resource="org/springframework/cloud/gcp/autoconfigure/logging/logback-json-appender.xml" />
    <appender name="CONSOLE_JSON"  class="ch.qos.logback.core.ConsoleAppender">
       <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.springframework.cloud.gcp.logging.StackdriverJsonLayout">
                <includeTraceId>true</includeTraceId>
                <includeSpanId>true</includeSpanId>
                <includeThreadName>false</includeThreadName>
            </layout>
       </encoder>
    </appender> 
    <logger name="org.apache.kafka" level="warn">
        <appender-ref ref="CONSOLE_JSON" />
    </logger>
    <root level="INFO">
        <appender-ref ref="CONSOLE_JSON" />
    </root> 

</configuration>

1 Ответ

0 голосов
/ 08 мая 2020

По умолчанию Sleuth не отправляет данные трассировки для каждого отдельного запроса. Вы, вероятно, также не захотите отслеживать каждый запрос. Частоту дискретизации трассировки можно настроить, настроив свойство spring.sleuth.sampler.percentage. Для получения дополнительной информации обратитесь к разделу «Spring Boot и Spring Cloud Sleuth» по этой ссылке и посмотрите это видео .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...