TLog轻量级分布式日志标记追踪神器
TLog简介
- TLog通过
对日志打标签
完成企业级微服务的日志追踪。它不收集日志
,使用简单,产生全局唯一的追踪码
。除了追踪码以外,TLog还支持SpanId和上下游服务信息 标签的追加。 - 为用户使用方便而设计,提供完全零侵入式接入方式,自动探测项目中使用的RPC框架和日志框架, 进行字节码的注入完成系统级日志标签的追加。
- TLog适配了市面上主流的RPC框架:
dubbo
,dubbox
,spring cloud的open feign
。 - TLog提供Javaagent,字节码注入,日志框架适配三种接入模式,无论是哪一种,都保证了无性能损耗。支持在业务异步线程,线程池,日志异步输出这几种场景下追踪不中断。
项目特性
- 通过对日志打标签完成轻量级微服务日志追踪
- 提供
三种接入方式
:javaagent完全无侵入
接入,字节码一行代码
接入,基于配置文件
的接入 - 支持常见的
log4j
,log4j2
,logback
三大日志框架,并提供自动检测,完成适配 - 支持
Spring Cloud Gateway
和Soul网关
- 适配
HttpClient
和Okhttp
的http调用标签传递 - 支持
三种任务框架
,JDK的TimerTask
,Quartz
,XXL-JOB
- 支持日志标签的自定义模板的配置,提供多个系统级埋点标签的选择
- 支持异步线程的追踪,包括线程池,多级异步线程等场景
几乎无性能损耗
,快速稳定,经过压测,损耗在0.01%
安装TLog
TLog
对spring boot
和spring native
提供了2种不同的依赖,此种方式只需依赖一个包,必须的包会传递依赖进来。
springboot依赖
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>tlog-all-spring-boot-starter</artifactId>
<version>1.3.4</version>
</dependency>
spring native依赖
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>tlog-all</artifactId>
<version>1.3.4</version>
</dependency>
日志框架适配方式(举例Log4j框架适配器)
同步日志
:只需要把layout的实现类换掉就可以了
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<!--替换成AspectLog4jPatternLayout-->
<layout class="com.yomahub.tlog.core.enhance.log4j.AspectLog4jPatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] %m >> %c:%L%n"/>
</layout>
</appender>
<appender name="fileout" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="./logs/test.log"/>
<!--替换成AspectLog4jPatternLayout-->
<layout class="com.yomahub.tlog.core.enhance.log4j.AspectLog4jPatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] %m >> %c:%L%n"/>
</layout>
</appender>
<root>
<priority value="info" />
<appender-ref ref="stdout"/>
<appender-ref ref="fileout"/>
</root>
</log4j:configuration>
异步日志
:只要把appender的实现类替换掉就行了
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] %m >> %c:%L%n"/>
</layout>
</appender>
<appender name="fileout" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="./logs/log4j-dubbo-provider.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] %m >> %c:%L%n"/>
</layout>
</appender>
<!--这里替换成AspectLog4jAsyncAppender-->
<appender name="asyncFileout" class="com.yomahub.tlog.core.enhance.log4j.async.AspectLog4jAsyncAppender">
<appender-ref ref="fileout"/>
</appender>
<root>
<priority value="info" />
<appender-ref ref="stdout"/>
<appender-ref ref="asyncFileout"/>
</root>
</log4j:configuration>
任务框架支持(举例XXL-JOB框架)
从1.3.0版本开始,TLog对开源框架XXL-JOB作了支持
。
在springboot
环境下,无需作任何改动
,只需引入依赖包即可生效
。
而在spring native环境下
,需要额外配置一行
<bean class="com.yomahub.tlog.springboot.lifecircle.TLogXxljobEnhanceInit"/>
TLog架构图
开源地址:https://gitee.com/dromara/TLog
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhcihcjj
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13