C/C++教程

你了解Slf4j的MDC吗?

本文主要是介绍你了解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

这篇关于你了解Slf4j的MDC吗?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!