# 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规则图片](1.png) **定义日志输出格式** 在定义日志输出格式时,要引用我们配置convert规则,如我们定义成这样的格式 ``` ``` ![定义日志输出格式图片说明](2.png) **引用格式** 在append 中使用我们指定的 输入格式即可 ![输入图片说明](image.png) ### 效果展示 比如我们从订单服务使用 feign调用,调到 支付服务 ![输入图片说明](4.png) ![输入图片说明](5.png) ## log4j2 日志框架使用 ### 引入依赖 ``` io.gitee.xinsuinian log-trace-spring-boot-starter ${version} ``` ### log4j2 配置 直接在输出格式加上 traceId即可 ``` ``` ![输入图片说明](1656079423656.png) # 特性 1、项目支持了微服务间feign 调用,如果使用feign调用,默认会有日志链路传递 2、扩展了对RestTemplate 的支持,创建RestTemplate是需要指定拦截器 (注意:版本在0.0.3以下的需要次扩展,0.0.3不需要,已经做了自动扩展) ![使用resttemplate对日志链路的追踪支持](3.png) 如上所示,我们简单通过 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 的链路追踪