Stackdriver记录|缺少TraceId和SpanId

时间:2020-05-06 18:18:15

标签: google-cloud-platform spring-cloud

我正在尝试使用 spring-cloud-gcp-starter-logging 将SpringBootApplication(microservice)与StackdriverLogging集成。我能够看到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 :(得分:0)

默认情况下,Sleuth不会为每个请求发送跟踪数据。您可能也不想跟踪每个请求。可以通过配置spring.sleuth.sampler.percentage属性来调整跟踪采样率。有关更多详细信息,请参阅此link中的“ Spring Boot和Spring Cloud Sleuth”,并查看此video

相关问题