是否有办法将并行流线程添加到现有的Log4J2上下文?



我正在处理一些大型数据处理,并在一个集合上使用并行流来运行它。在处理之前,我们已经向Log4J线程上下文添加了一个配置。当它运行处理时,它只将主线程记录到文件中,但其他线程没有写到那里。

我确信有一些方法可以将额外的线程添加到相同的日志文件中,但到目前为止,我一直无法找到解决方案。

所有的处理都正常工作,日志是我遇到问题的最后一位,我正在努力解决。

谢谢!

好了,我最后要做的是为parallelStream中使用的每个公共池线程添加ThreadContext。

if (!Thread.currentThread().getName().startsWith(mainThread)) {              
ThreadContext.put(BATCH_LOGGER_THREAD_CONTEXT_KEY, configuration);
}

允许日志行转到预期的文件。我还必须记得在处理完成后清理线程的ThreadContext,这样就不会有任何泄漏到其他日志中。

最新更新