我知道,MDC 是一个映射,它存储上下文运行的特定线程的上下文数据。我正在运行的情况是,我希望每个日志语句都应该打印某些数据,这些数据不限于任何特定线程,而是特定于应用程序,例如。我的应用程序正在运行的当前节点名称。所以我在 MDC 中添加了节点名称
MDC.put("source",source_name);
由于它是特定于应用程序的,我不想将其从 MDC 中删除(如果我的应用程序由于某种原因出现故障,如果我没有错,任何方式 MDC 都会被清除)。
只是想知道,如果我不从 MDC 中删除密钥会发生什么以及它将如何影响我的应用程序?会有任何内存泄漏或类似的东西吗?