你了解Slf4j的MDC吗?

SLF4J 提供了MDC ( Mapped Diagnostic Contexts )功能

DMC简单的可以理解为,日志增强

如果项目日志比较多,项目中多线程的应用比较多,那么多个线程交叉打印日志,日志文件的内容是混乱的。

DMC可以通过AOP/Filter/Interceptor等方式,在线程中增加辅助日志,我们可以线程中通过DMC.put(key, val)来插入值,然后在配置文件中,用表达式:%X{对应的key} 将put进去的值输出到日志。

DMC好处

1.链路追踪

可以追踪线程中的调用链路

2.动态调整日志打印参数

如果有什么需要全局打印的参数,可以通过AOP + DMC来调整,如果全局改代码,肯能会很痛苦。

 

参考文章1:https://www.cnblogs.com/xlli/p/10078817.html

参考文章2:https://fredal.xin/mdc-in-tracing

posted @   InkYi  阅读(675)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示