TLog轻量级日志追踪使用(非微服务)
序 之前发过一个博文介绍了TLog在微服务环境下的使用,当时还误解觉得在非微服务情况下使用这个日志框架没有意义。然当加入组织,细细研读使用文档,才发现自己的无知。作者说的微服务下能显示上下游请求名称、ip等,他说的这个微服务是宽泛的。一、依赖引入 不想包太大,
序
之前发过一个博文介绍了TLog在微服务环境下的使用,当时还误解觉得在非微服务情况下使用这个日志框架没有意义。然当加入组织,细细研读使用文档,才发现自己的无知。作者说的微服务下能显示上下游请求名称、ip等,他说的这个微服务是宽泛的。
一、依赖引入
不想包太大,其实可以值引入自己需要的模块,我一般都是图省事的。
<!-- TLog引入支持 -->
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>tlog-all-spring-boot-starter</artifactId>
<version>1.3.4</version>
</dependency>
二、logback配置
所有encoder节点,修改实现类,比如:
原:
<encoder>
<Pattern>${app.name} >> %date{yyyy-MM-dd HH:mm:ss.SSS}\t[%thread]\t%-5level\t%logger\t-\t%X{KEY_WORDS}%m%n</Pattern>
<charset class="java.nio.charset.Charset">utf-8</charset>
</encoder>
修改为:
<encoder class="com.yomahub.tlog.core.enhance.logback.AspectLogbackEncoder">
<Pattern>${app.name} >> %date{yyyy-MM-dd HH:mm:ss.SSS}\t[%thread]\t%-5level\t%logger\t-\t%X{KEY_WORDS}%m%n</Pattern>
<charset class="java.nio.charset.Charset">utf-8</charset>
</encoder>
三、application配置
#项目名称
spring.application.name=ITSS
#TLog轻量级日志追踪
tlog.pattern=[$preApp][$preIp][$spanId][$traceId]
四、注意
1、上下游日志框架统一TLog
2、都是SpringBoot项目(其他应该也是可以的,只是项目名称估计要设成spring.application.name,原代码里key是固定的)
3、上下游接口交互协议Http
这个目前是支持HttpClient、OkHttp的,HuTool封装的HttpUtil还没有支持,这点跟2个项目在码云上都提了issue,在2边的群组织里联系上了作者,提个建议。
issue:
HuTool
Tlog
话说大神们也很自信,组织里跟作者的对话。
Tlog作者说要是HuTool不支持就强上,霸气。
其实作者也是认识HuTool的小磊的,单聊的内容我就不好公开了。
HuTool
五、效果
我这里是用post请求的A项目,A项目里用OkHttp请求B项目。可能有人担心这个请求码重复,这个是用的雪花算法,目前还没有听说有这样的bug。本来这个周五就可以分享给大家的,但是那天项目上线有点问题,当天没有找到原因。
今天上午跟媳妇带娃出去玩了,下午回来了接着定位原因,最后真他妈坑,现网是用jenkins + 默认maven编译 + pipi发布。jenkins没有报错、但是启动报的错却是自动任务方面的,莫名其妙。最后合并代码一阶段一阶段试验(本机打包发现网是好的),发现现网用的阿里云的镜像,我的TLog是用的周四才发布的1.3.4最新版。我怀疑是jar没有下载好,或者是阿里云上没有,这个我就没有去深究了,让运维明天看看(其实是我没找到jenkins自带的maven的配置文件),希望能帮到大家。
更多推荐
所有评论(0)