随着微服务的盛行,很多公司都把系统按照业务边界拆成了许多的微服务。而在排查日志时,由于业务链路贯穿多个微服务节点,往往导致定位某个请求的日志,以及上下游业务的日志变得比较困难。
此时,如果采用SkyWalking、Pinpoint等分布式追踪系统,则往往会对中小型公司带来不小的服务器压力和人力成本。此时,TLog 或许是一个不错的选择。
简介
TLog,是 dromara 在 Gitee 上开源的轻量级的分布式日志标记追踪神器,仓库位于 https://gitee.com/dromara/TLog,目前版本为 v1.3.6。
TLog 使用简单,10分钟即可接入,自动对日志打标签完成微服务的链路追踪。支持log4j,log4j2,logback三大日志框架,支持dubbo,dubbox,springcloud三大RPC框架。
使用
TLog功能强大,能够
- 通过对日志打标签完成轻量级微服务日志追踪
- 提供三种接入方式:javaagent完全无侵入接入,字节码一行代码接入,基于配置文件的接入
- 对业务代码无侵入式设计,使用简单,10分钟即可接入
- 支持常见的log4j,log4j2,logback三大日志框架,并提供自动检测,完成适配
- 支持dubbo,dubbox,springcloud三大RPC框架
- 支持Spring Cloud Gateway和Soul网关
- 适配HttpClient和Okhttp的http调用标签传递
- 支持三种任务框架,JDK的TimerTask,Quartz,XXL-JOB
- 支持日志标签的自定义模板的配置,提供多个系统级埋点标签的选择
- 支持异步线程的追踪,包括线程池,多级异步线程等场景
- 几乎无性能损耗,快速稳定,经过压测,损耗在0.01%
TLog结构简单,但能精准解决中小型公司的痛点。架构图通俗易懂,提供3种接入方式,大部分的注入和加载都在启动期完成。对性能无影响。
TLog能够无侵入极速接入,在springboot环境下最快1分钟即可接入TLog:
- 下载agent包:https://gitee.com/dromara/TLog/releases/v1.3.6
- jvm参数中加入 -javaagent:/your_path/tlog-agent.jar
消费者端效果如下:
2020-09-16 18:12:56,763 [INFO] <0><7161457983341056> logback-dubbox-consumer:invoke method sayHello,name=jack >> com.yomahub.tlog.example.dubbox.controller.DemoController:22
2020-09-16 18:12:56,763 [INFO] <0><7161457983341056> 测试日志aaaa >> com.yomahub.tlog.example.dubbox.controller.DemoController:23
2020-09-16 18:12:56,763 [INFO] <0><7161457983341056> 测试日志bbbb >> com.yomahub.tlog.example.dubbox.controller.DemoController:24
提供者端效果如下:
2020-09-16 18:12:56,854 [INFO] <0.1><7161457983341056> logback-dubbox-provider:invoke method sayHello,name=jack >> com.yomahub.tlog.example.dubbo.service.impl.DemoServiceImpl:15
2020-09-16 18:12:56,854 [INFO] <0.1><7161457983341056> 测试日志cccc >> com.yomahub.tlog.example.dubbo.service.impl.DemoServiceImpl:16
2020-09-16 18:12:56,854 [INFO] <0.1><7161457983341056> 测试日志dddd >> com.yomahub.tlog.example.dubbo.service.impl.DemoServiceImpl:17
可以选择全量依赖安装,针对Springboot:
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>tlog-all-spring-boot-starter</artifactId>
<version>1.3.6</version>
</dependency>
而针对Srping native则有
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>tlog-all</artifactId>
<version>1.3.6</version>
</dependency>
总结
TLog 作为轻量级的分布式日志标记追踪工具,使用简单,10分钟即可接入,自动对日志打标签完成微服务的链路追踪。支持log4j,log4j2,logback三大日志框架,支持dubbo,dubbox,springcloud三大RPC框架,是微服务日志追踪的不错选择。