1. pom依赖
从网关开始,在每个微服务节点添加Sleuth依赖
<!--链路追踪-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
2. 打印日志
在微服务中正常打印日志
@RestController
public class HelloController {
@Autowired
private RestTemplate restTemplate;
// 服务提供方
private final static String HELLO_SERVICE_NAME = "http://eureka-provider/";
private Logger logger = LoggerFactory.getLogger(HelloController.class);
@RequestMapping("/hello/{name}")
@HystrixCommand(fallbackMethod = "sayHelloError")
public String sayHello(@PathVariable("name") String name) {
logger.info("REST RIBBON SERVICE...");
return restTemplate.getForObject(HELLO_SERVICE_NAME + "hello/" + name, String.class);
}
private String sayHelloError(String name) {
return "hello " + name + ", current service exception. Please try again later";
}
}
3. 日志信息
在控制台可以看到下面的日志信息
2020-04-11 21:16:52.499 INFO [eureka-consumer,59079b6234082058,0136fdbab1966cea,true] 12680 --- [lloController-7] com.honor.controller.HelloController : REST RIBBON SERVICE...
重点关注这些个信息
[eureka-consumer,59079b6234082058,0136fdbab1966cea,false]
- eureka-consumer: 当前微服务的名称
- 59079b6234082058:TraceID
- 0136fdbab1966cea: SpanId
- false: 是否将日志输出到Zipkin等服务做分析
本文详细介绍如何在微服务架构中使用Spring Cloud Sleuth进行链路追踪,包括配置pom依赖、日志打印及理解日志信息。通过具体代码示例,展示了如何在微服务中集成Sleuth并解析日志中的TraceID、SpanID等关键信息。
1477

被折叠的 条评论
为什么被折叠?



