Author: nickwilliams
Date: Thu Jan 30 04:08:03 2014
New Revision: 1562688
URL: http://svn.apache.org/r1562688
Log:
Fixing LOG4J2-323: ThreadLocal needs to be removed, not nulled out.
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java
Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java?rev=1562688&r1=1562687&r2=1562688&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java
Thu Jan 30 04:08:03 2014
@@ -81,6 +81,7 @@ public class AsyncLogger extends Logger
private static final int RINGBUFFER_DEFAULT_SIZE = 256 * 1024;
private static final StatusLogger LOGGER = StatusLogger.getLogger();
private static final ThreadNameStrategy THREAD_NAME_STRATEGY =
ThreadNameStrategy.create();
+ private static final ThreadLocal<Info> threadlocalInfo = new
ThreadLocal<Info>();
static enum ThreadNameStrategy { // LOG4J2-467
CACHED {
@@ -109,7 +110,6 @@ public class AsyncLogger extends Logger
private static ExecutorService executor = Executors
.newSingleThreadExecutor(new DaemonThreadFactory("AsyncLogger-"));
- private static ThreadLocal<Info> threadlocalInfo = new ThreadLocal<Info>();
static {
initInfoForExecutorThread();
@@ -308,7 +308,7 @@ public class AsyncLogger extends Logger
}
}
executor.shutdown(); // finally, kill the processor thread
- threadlocalInfo = new ThreadLocal<Info>(); // LOG4J2-323
+ threadlocalInfo.remove(); // LOG4J2-323
}
/**