使用log4j登录Spring Security 4并将MDC设置为无效

时间:2015-08-22 13:51:15

标签: multithreading spring-security slf4j log4j2

在具有spring security 4,slf4j(带有log4j2实现)的Web应用程序环境中,有一个过滤器在收到请求后立即在顶部运行,并始终在线程中设置MDC参数,如下所示

MDC.put("ServiceSequence", aSampleKey);

log4j2模式布局有%X{ServiceSequence}。 对于每个日志行,我都会看到正确的ServiceSequence,除了从UserDetailsService的自定义实现生成的日志。在此自定义含义中,%X{ServiceSequence}始终为空。

当我调试程序时,我发现可能是spring安全线程与我设置MDC的线程不同。这是正确的吗?!

如何在过滤器中设置线程上下文并确保我在每个位置都有它?或者我可以配置spring security将线程参数复制到新的线程上下文中吗?!

0 个答案:

没有答案