# log-trace-spring-boot-starter
**Repository Path**: XinSuiNian/log-trace-spring-boot-starter
## Basic Information
- **Project Name**: log-trace-spring-boot-starter
- **Description**: 一款用于java日志链路追踪的工具类
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 5
- **Forks**: 1
- **Created**: 2022-06-20
- **Last Updated**: 2024-08-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# log-trace-spring-boot-starter
# 介绍
一款用于java日志链路追踪的工具类
本starter工具对业务代码0侵入,配置下日志的配置文件即可快速使用
作为java"程序猿"在日常工作中,排查日志是我们在正常不过的一个工作项。但是你是否会遇到这种情况呢?一个请求进到系统,想看下这个请求从进入到结束的日志,但是在你排查过程中,又有其他请求进入,导致你不知道哪个是你本次请求有用的日志。如果你还在为这种情况而烦恼,那么本starter工具就可以解决你的烦恼。
目前支持的日志框架
1、logback
2、log4j2
# 软件架构
软件架构说明
# 安装教程
```
io.gitee.xinsuinian
log-trace-spring-boot-starter
${version}
```
# 使用说明
## logback 日志框架使用
### 引入依赖
```
io.gitee.xinsuinian
log-trace-spring-boot-starter
${version}
```
### logback 配置
**配置convert规则**
```
```

**定义日志输出格式**
在定义日志输出格式时,要引用我们配置convert规则,如我们定义成这样的格式
```
```

**引用格式**
在append 中使用我们指定的 输入格式即可

### 效果展示
比如我们从订单服务使用 feign调用,调到 支付服务


## log4j2 日志框架使用
### 引入依赖
```
io.gitee.xinsuinian
log-trace-spring-boot-starter
${version}
```
### log4j2 配置
直接在输出格式加上 traceId即可
```
```

# 特性
1、项目支持了微服务间feign 调用,如果使用feign调用,默认会有日志链路传递
2、扩展了对RestTemplate 的支持,创建RestTemplate是需要指定拦截器 (注意:版本在0.0.3以下的需要次扩展,0.0.3不需要,已经做了自动扩展)

如上所示,我们简单通过 tractId,即可完成对从一个请求进入系统到请求结束的日志追踪
# 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
# 发布记录
## 0.0.3
0.0.3 对RestTemplate链路追踪做作自动扩展,无须再自己制定拦截器
## 0.0.2
0.0.2 支持 log4j2 的链路追踪
## 0.0.1
0.0.1 初次迭代支持 logback 的链路追踪