Redian新闻
>
真香!一个轻量级的日志追踪框架,10 分钟即可接入!

真香!一个轻量级的日志追踪框架,10 分钟即可接入!

公众号新闻
来自公众号:Java知音

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

微信搜索公众号:Java项目精选,回复:java 领取资料 。

7、支持日志标签的自定义模板的配置,提供多个系统级埋点标签的选择

8、支持异步线程的追踪,包括线程池,多级异步线程等场景

9、几乎无性能损耗,快速稳定,经过压测,损耗在0.01%

安装TLog

TLog对springboot和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"/>

任务框架支持(举例XXL-JOB框架)

从1.3.0版本开始,TLog对开源框架XXL-JOB作了支持。

在springboot环境下,你无需作任何改动。只需引入依赖包即可生效。

而在spring native环境下,你需要额外配置一行

<bean class="com.yomahub.tlog.springboot.lifecircle.TLogXxljobEnhanceInit"/>

TLog架构图

而在spring native环境下,你需要额外配置一行

开源地址:https://gitee.com/dromara/TLog

---END---


推荐↓↓↓

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
眼镜、化妆刷、牙刷,这个超声波清洗杯很大,还薅来了清!仓!价,真香!性能快如闪电!轻量级 Linux 在 9 年后重出江湖美国TOP10大学薪酬大曝光,美国留学真香!10分钟学会使用Loki日志聚合系统奥兰Winter Garden多双层住宅10 分钟即可到达迪士尼,靠近冬季花园的餐厅和购物 售价50.5万美金马未都 | 侦察兵苏雷(1952.4 - 2022.11)美情报称东风-27导弹12分钟即可打到美航母基地被无视的轻量级“切尔诺贝利”和错的很整齐的发言稿翻译ICLR 2023 | 微软提出自动化模型训练剪枝框架OTO,一站式获得轻量级架构Alpaca-CoT项目原作解读:多接口统一的轻量级LLM指令微调平台轻量级「行泊一体」爆发前夜!这家智驾Tier1正加码抢占市场Lightning Eyes新型电动摩托车 只需10分钟即可充电80%别再用「沐浴露」了!!拯救冬季干燥起皮,还是得靠它,真香!!微软提出自动化神经网络训练剪枝框架OTO,一站式获得高性能轻量化模型澳洲第五针新冠疫苗今起正式开打!符合这些条件即可接种!一文看懂接种流程新西兰风景java更轻量级的权限管理框架:jcasbin如何徒手做熟一只鸡?连续拍打鸡身136小时7分钟即可MyBatis-Plus 还手写 Join 联表查询?一个依赖轻松搞定,真香!换掉 VMware ?轻量级虚拟机,横空出世!真香!新移民发誓自己不会被加拿大改变,一个月后竟...陈丹青:纪念一个在黑暗中大雪纷飞的人原美团创始人进军人工智能;龙湖今年6个轻资产项目开业;百盛亏损持续加大;认养一头牛更新招股书;双娃乳业破产寻投资人|联商头条【新店推荐】天花板级别的烤和牛?真香!五国摄影师拍中国,不同的味道,同样的美!开源免费的轻量级 SSH 终端,非常炫酷好用!真香!怎么会有那么香的茶!一口温柔,一口馥郁体验 | 免隔离通关,我从香港回家了!真香!自从项目上了SkyWalking,睡觉真香!做饭生气了发现一款更轻量级的权限框架,十分钟就能快速上手,yyds三行代码创建一个进度条,真香!我,港大毕业生去新加坡,2年拿绿卡,真香!Linux 这套 Nginx 日志解决方案,真香!特制自己的ChatGPT:多接口统一的轻量级LLM-IFT平台
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。