当前位置: 首页 > 知识库问答 >
问题:

春云侦探无法跨越

桂智志
2023-03-14

有必要为进入控制台日志的所有内容生成一个span id,但不幸的是,没有生成span id:

2019-03-13 12:35:27.116  INFO [core.data,,,] 13304 --- [           main] s.c.a.AnnotationConfigApplicationContext : Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@1fd386c3: startup date [Wed Mar 13 12:35:27 MSK 2019]; root of context hierarchy
2019-03-13 12:35:27.268  INFO [core.data,,,] 13304 --- [           main] f.a.AutowiredAnnotationBeanPostProcessor : JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2019-03-13 12:35:27.298  INFO [core.data,,,] 13304 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'configurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$66207a2f] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)

2019-03-13 14:58:43,737+0300 p=INFO l=org.springframework.boot.web.servlet.FilterRegistrationBean trace-id= span-id= Mapping filter: 'characterEncodingFilter' to: [/*]
2019-03-13 14:58:43,737+0300 p=INFO l=org.springframework.boot.web.servlet.FilterRegistrationBean trace-id= span-id= Mapping filter: 'webMvcMetricsFilter' to: [/*]
2019-03-13 14:58:43,738+0300 p=INFO l=org.springframework.boot.web.servlet.FilterRegistrationBean trace-id= span-id= Mapping filter: 'unauthorizedLogbookFilter' to: [/*]

应用程序.yml

    logging:
      config: classpath:config/logging/logback.xml
    pattern:
      console: '%d{"yyyy-MM-dd HH:mm:ss,SSSZ"} %clr(p=%level) %clr(t=%t){yellow} %clr(l=%logger){magenta} %clr(trace-id=%X{X-B3-TraceId:-}){blue} %clr(span-id=%X{X-B3-SpanId:-}){cyan} %msg%n'

      level:
        org.hibernate: info
        org.springframework: info

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <!--spring defaults-->
  <include 
    resource="org/springframework/boot/logging/logback/defaults.xml"/>
  <include resource="org/springframework/boot/logging/logback/console- 
appender.xml"/>
<!--custom configurations-->
<include resource="config/logging/file-appender.xml"/>

<!-- level configurations-->
<root level="INFO">
    <appender-ref ref="CONSOLE"/>
    <appender-ref ref="FILE"/>
</root>

为显式调用的日志记录方法生成span id:

Logger log = loggerFactory().getLogger(this.class);
public void method(){ log.info("test"); }

共有2个答案

施彦
2023-03-14

没有必要为进入控制台日志的所有内容生成span id。点击您的API,然后您可以在控制台的日志中看到span id和trace id。

郎飞航
2023-03-14

首先创建一个Rest Api并向其发出Api请求(如果尚未完成)。如果您正在使用Restemplate,请尝试创建RestTemplatebean。

还要设置要调试的日志记录级别

logging.level.org.springframework.web.servlet.DispatcherServlet=DEBUG
 类似资料:
  • 我的一些微服务使用log4j2作为记录器。Spring cloud Sleuth支持logback。在这个场景中,我如何使用Sleuth来获得分布式跟踪。我明白用log4j2使用sleuth,我必须实现某些类。我试过了,但没有运气。请帮忙

  • 还有人在使用Zipkin时遇到以下问题吗?

  • 我正在使用spring-cloud-sleuth为http请求、rabbitMQ消息和sheduled事件的日志添加相关id。添加依赖项后,应用程序的启动时间增加了50%。所有其他配置属性,如spring.sleuth.async.enabled和spring.sleuth.grpc.enabled的默认值为true。如果我想减少我的应用程序启动时间,我需要在我的应用程序属性文件中将所有这些都过期

  • Spring Cloud Sleuth跟踪头是否像这里描述的RabbitMq和Kafka那样被注入到Spring Cloud Stream Kinesis消息中?我们有一个REST控制器,它在处理POST请求之后,但在向客户机发送响应之前,向Kinesis发送一个Avro消息,该消息使用Spring Cloud Stream Kinesis总结事务。我想确保在REST控制器中启动的跟踪id被传播到

  • 作为我们的内部IDP,我们使用的是Keycloak 6.0.1,它依赖于Wildfly16。 我们的大部分组件都是spring boot thingies,其中我们使用spring cloud sleuth+一些gelf配置将日志发送到ELK堆栈。 WildFly日志语句具有SpanID和traceID。 传播包含相关信息的WildFly传入请求。 Wildfly为不包含关联信息的请求生成新的关联

  • 我在中使用Sleuth。示例: 我希望日志具有与日志相同的跟踪id。然而,它没有。因此我想知道该怎么办?谢了! 附言。我无法控制如何管理线程(因为它来自Pushy),所以无法使用LazyTraceExecutor之类的东西。