标签: logging slf4j logback mdc
我知道在客户端服务器中使用MDC,记录以便找出哪个客户端的日志。 (reference)
但为什么我们使用MDC.remove()?
MDC.remove()
这是一个内存效率问题吗?
答案 0 :(得分:3)
另一个原因是该值已过时。例如,如果您在MDC中有用户名但用户已经注销,则您有过时的信息。如果你仍然记录它,它可能会完全误导调试。
答案 1 :(得分:2)
通常,put()操作应该通过相应的remove()操作来平衡。否则,MDC将包含某些键的陈旧值。我们建议尽可能在finally块中执行remove()操作,确保无论代码的执行路径如何都要调用它们。