开始整合

logback官方配置
log4j官方配置
log4j2j官方配置
引入依赖

  1. <!-- apm-toolkit-logback-1.x -->
  2. <dependency>
  3. <groupId>org.apache.skywalking</groupId>
  4. <artifactId>apm-toolkit-logback-1.x</artifactId>
  5. <version>8.4.0</version>
  6. </dependency>

添加logback-spring.xml文件,并配置 %tid 占位符

logback-spring.xml附件:
logback-spring.xml

Skywalking集成日志框架 - 图1

整合后开始测试

调用接口查看控制台输出

调用接口: http://localhost:8080/user/info/2

  1. @RequestMapping("/info/{id}")
  2. public User info(@PathVariable("id") Integer id){
  3. log.info("访问/user/info/接口,入参:{}", id);
  4. String traceId = TraceContext.traceId();
  5. log.info("当前的traceId是:{} ", traceId);
  6. if(id==4){
  7. throw new IllegalArgumentException("参数异常");
  8. }
  9. return userService.getById(id);
  10. }

发现有traceId输出,也可以从 TraceContext.traceId(); 方法中获取TraceId
image.png

查看Skywalking

通过在控制台的traceId:e5c8e68ba1984518b5bb40471410031b.122.16434380651510003 去搜索

image.png

发现能搜到结果

调用接口触发异常

发起请求:http://localhost:8080/user/info/4

下面的代码逻辑是当id为4的时候会报IllegalArgumentException,参数异常的错误

@RequestMapping("/info/{id}")
public User info(@PathVariable("id") Integer id){
    log.info("访问/user/info/接口,入参:{}", id);
    String traceId = TraceContext.traceId();
    log.info("当前的traceId是:{} ", traceId);
    if(id==4){
        throw new IllegalArgumentException("参数异常");
    }

    return userService.getById(id);
}

查看Skywalking:
image.png

image.png

能发现有一些基本的错误信息

image.png