微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

仅向所有 LogLevel 添加一次全局值,这将影响所有地方

如何解决仅向所有 LogLevel 添加一次全局值,这将影响所有地方

我在几个地方 (Log4j) 的代码添加了 Logger。 像 Logger.info(" some thing "); 我的日志很多地方都是这样的,

Timestamp LogLevel SometText SomeMoreText

每当有新的请求出现时, 我想在每个 logLevel 中添加一些像 ID:CurrentValuetime 这样的值,这将是相同的,直到请求出现在所有 LogLevel 中,所以我的日志应该像

Timestamp LogLevel ID:CurrentValuetime SometText SomeMoreText

ID:CurrentValuetime 在所有地方都应该相同,它应该是全局的和最终的,应该自动附加到所有日志级别

我怎样才能做到这一点?

解决方法

在 MDC 的帮助下实现了

的帮助下创建了一个servlet过滤器
 MDC.put("UniqueID",UIDValue);

我能够立即将唯一值添加到日志中。

try {
             chain.doFilter(request,response);
            } finally {           
                MDC.remove("UniqueID");
              }

并在请求完成后删除值

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。