Description
After upgrading our application to use Log4J 2.14 we discovered that our thread factory for the ForkJoinPool common pool was not being used.
After debugging I discovered that this was because we initialize Log4J before we configure the ForkJoinPool. Log4J 2.14 now initializes the ForkJoinPool common pool via this line in the constructor:
CompletableFuture.runAsync(ThreadContextDataInjector::initServiceProviders);
This was introduced by LOG4J2-2867. I am not familiar with what initServiceProviders is doing but please consider reverting to the previous behavior by default and providing an option to supply an executor if desired.