当servlet线程完成执行时,清除org.apache.log4j.NDC的首选方法是什么?
NDC.clear() 或
NDC.remove()谢谢你的帮助。
发布于 2019-01-29 07:37:44
这两种方法的文档似乎很清楚,所以我认为答案是,这取决于您在做什么:
NDC.clear() -清空上下文,但如果线程可能用于不同的东西,则将对象留待重用:
清除任何嵌套诊断信息(如果有的话)。这种方法在同一线程可能在不同不相关的上下文中反复使用的情况下非常有用。
NDC.remove() --完全删除上下文,以允许其内存被回收。
删除此线程的诊断上下文。每个通过调用push(java.lang.String)创建诊断上下文的线程都应该在退出之前调用此方法。否则,VM无法回收线程使用的内存。
https://stackoverflow.com/questions/54415861
复制相似问题