Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.5
-
None
Description
The new WatchManager introduced in 2.5 uses a ScheduledThreadPoolExecutor so it can roll over triggered by a timer event instead of a log event.
The executor currently uses the standard thread factory, which creates non-daemon threads. This means that applications that use Log4j 2 and have monitorInterval="..." in their configuration will never shut down.
The fix is to pass a DaemonThreadFactory to the ScheduledThreadPoolExecutor constructor. (This also allows us to specify a better name than "pool-1-thread-1".)
Attachments
Issue Links
- contains
-
LOG4J2-1164 Configuration watch thread causes Tomcat memory leak
- Closed