耐克网站建设策划方案,平面设计接单渠道有哪些,市场调研公司介绍,岐山网站开发最近遇到日志文件记录错误的问题。一个任务的日志信息会被莫名的拆分到两个不同目录中。且有一个目录还是曾经执行过的任务的目录。经过分析#xff0c;首先怀疑的是MDC没有清理的问题#xff0c;这也是最直观的问题。因为任务是在线程池(fixedThreadPool)中运行的。由于线程…最近遇到日志文件记录错误的问题。一个任务的日志信息会被莫名的拆分到两个不同目录中。且有一个目录还是曾经执行过的任务的目录。经过分析首先怀疑的是MDC没有清理的问题这也是最直观的问题。因为任务是在线程池(fixedThreadPool)中运行的。由于线程会被重用而MDC是绑定在Threadlocal上的所以如果没有清理是会造成上述问题。但是在代码检查中发现在线程的开始是重新设置过MDC信息的。所以怀疑的对象转移到了多classloader上。由于不能肯定所以进行测试如下
全文详见个人独立博客https://www.coderli.com/log4j-mdc-classloader-problem/
log4j 同一线程隔离classloader下MDC信息不同问题解决 ThreadLocal问题分析 | OneCoder 最近遇到日志文件记录错误的问题。一个任务的日志信息会被莫名的拆分到两个不同目录中。且有一个目录还是曾经执行过的任务的目录。经过分析首先怀疑的是MDC没有清理的问题这也是最直观的问题。因为任务是在线程池(fixedThreadPool)中运行的。由于线程会被重用而MDC是绑定在Threadlocal上的所以如果没有清理是会造成上述问题。但是在代码检查中发现在线程的开始是重新设置过MDC信息的。所以怀疑的对象转移到了多classloader上。由于不能肯定所以进行测试如下https://www.coderli.com/log4j-mdc-classloader-problem/
加入频道领免费Java学习资料腾讯频道邀请
加入大佬免费带队Java学习群Java学习群