我想知道
ThreadContext.put
和 MDC.put
之间的区别,因为我相信两者执行相同的操作。
Log4j 2 延续了 MDC 和 NDC 的想法,但是 将它们合并到一个Thread Context中。线程上下文映射是 MDC和线程上下文堆栈的等价物是 相当于 NDC。尽管这些经常被用于目的 除了诊断问题之外,它们仍然经常被提及 就像 Log4j 2 中的 MDC 和 NDC 一样,因为它们已经被众所周知 那些首字母缩略词。
https://logging.apache.org/log4j/2.x/manual/thread-context.html
根据log4j2手册:
org.apache.log4j.MDC 和 org.apache.log4j.NDC 已被线程上下文取代。