Repository: logging-log4j2
Updated Branches:
  refs/heads/master 4cff6dd46 -> 8142c3e04


[LOG4J2-1299] Add pattern converter for thread id and priority in
PatternLayout. Remove thread ID and thread priority caches, they are not
needed since these items are accessed as plain ivars through getters.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/8142c3e0
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/8142c3e0
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/8142c3e0

Branch: refs/heads/master
Commit: 8142c3e04b82763a3ecb7915ca1bbf4d0a52c6c4
Parents: 4cff6dd
Author: ggregory <[email protected]>
Authored: Tue Mar 1 20:58:04 2016 -0800
Committer: ggregory <[email protected]>
Committed: Tue Mar 1 20:58:04 2016 -0800

----------------------------------------------------------------------
 .../logging/log4j/core/async/AsyncLogger.java   | 16 ++++-----
 .../core/async/ThreadNameCachingStrategy.java   | 38 ++------------------
 2 files changed, 10 insertions(+), 44 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8142c3e0/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java
index d7ffb3c..1a060d2 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLogger.java
@@ -235,6 +235,7 @@ public class AsyncLogger extends Logger implements 
EventTranslatorVararg<RingBuf
 
         // Implementation note: this method is tuned for performance. MODIFY 
WITH CARE!
 
+        final Thread currentThread = Thread.currentThread();
         translator.setValuesPart2(
                 // config properties are taken care of in the EventHandler 
thread
                 // in the AsyncLogger#actualAsyncLog method
@@ -245,15 +246,15 @@ public class AsyncLogger extends Logger implements 
EventTranslatorVararg<RingBuf
                 // needs shallow copy to be fast (LOG4J2-154)
                 ThreadContext.getImmutableStack(), //
 
-                THREAD_NAME_CACHING_STRATEGY.getThreadId(), //
+                currentThread.getId(), //
 
                 // Thread.currentThread().getName(), //
                 THREAD_NAME_CACHING_STRATEGY.getThreadName(),
 
-                THREAD_NAME_CACHING_STRATEGY.getThreadPriority(), //
+                currentThread.getPriority(), //
                 // location (expensive to calculate)
-                calcLocationIfRequested(fqcn)
-, eventTimeMillis(message), nanoClock.nanoTime() //
+                calcLocationIfRequested(fqcn), 
+                eventTimeMillis(message), nanoClock.nanoTime() //
                 );
     }
 
@@ -316,12 +317,11 @@ public class AsyncLogger extends Logger implements 
EventTranslatorVararg<RingBuf
         // needs shallow copy to be fast (LOG4J2-154)
         final ContextStack contextStack = ThreadContext.getImmutableStack();
 
-        final Long threadId = THREAD_NAME_CACHING_STRATEGY.getThreadId();
+        final Thread currentThread = Thread.currentThread();
         final String threadName = THREAD_NAME_CACHING_STRATEGY.getThreadName();
-        final Integer threadPriority = 
THREAD_NAME_CACHING_STRATEGY.getThreadPriority();
-
         event.setValues(asyncLogger, asyncLogger.getName(), marker, fqcn, 
level, message, thrown, contextMap,
-                contextStack, threadId, threadName, threadPriority, location, 
eventTimeMillis(message), nanoClock.nanoTime());
+                contextStack, currentThread.getId(), threadName, 
currentThread.getPriority(), location,
+                eventTimeMillis(message), nanoClock.nanoTime());
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8142c3e0/log4j-core/src/main/java/org/apache/logging/log4j/core/async/ThreadNameCachingStrategy.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/ThreadNameCachingStrategy.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/ThreadNameCachingStrategy.java
index 0de95a8..f82f71c 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/ThreadNameCachingStrategy.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/ThreadNameCachingStrategy.java
@@ -26,16 +26,6 @@ import org.apache.logging.log4j.util.PropertiesUtil;
 enum ThreadNameCachingStrategy { // LOG4J2-467
     CACHED {
         @Override
-        public long getThreadId() {
-            Long result = THREADLOCAL_ID.get();
-            if (result == null) {
-                result = Thread.currentThread().getId();
-                THREADLOCAL_ID.set(result);
-            }
-            return result;
-        }
-
-        @Override
         public String getThreadName() {
             String result = THREADLOCAL_NAME.get();
             if (result == null) {
@@ -44,42 +34,18 @@ enum ThreadNameCachingStrategy { // LOG4J2-467
             }
             return result;
         }
-
-        @Override
-        public int getThreadPriority() {
-            Integer result = THREADLOCAL_PRIORITY.get();
-            if (result == null) {
-                result = Thread.currentThread().getPriority();
-                THREADLOCAL_PRIORITY.set(result);
-            }
-            return result;
-        }
     },
     UNCACHED {
         @Override
-        public long getThreadId() {
-            return Thread.currentThread().getId();
-        }
-
-        @Override
         public String getThreadName() {
             return Thread.currentThread().getName();
         }
-
-        @Override
-        public int getThreadPriority() {
-            return Thread.currentThread().getPriority();
-        }
     };
-    
+
     private static final StatusLogger LOGGER = StatusLogger.getLogger();
-    private static final ThreadLocal<Long> THREADLOCAL_ID = new 
ThreadLocal<>();
     private static final ThreadLocal<String> THREADLOCAL_NAME = new 
ThreadLocal<>();
-    private static final ThreadLocal<Integer> THREADLOCAL_PRIORITY = new 
ThreadLocal<>();
-    
-    abstract long getThreadId();
+
     abstract String getThreadName();
-    abstract int getThreadPriority();
 
     static ThreadNameCachingStrategy create() {
         final String name = 
PropertiesUtil.getProperties().getStringProperty("AsyncLogger.ThreadNameStrategy",

Reply via email to