You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2016/03/02 05:58:16 UTC

logging-log4j2 git commit: [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.

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 <gg...@apache.org>
Authored: Tue Mar 1 20:58:04 2016 -0800
Committer: ggregory <gg...@apache.org>
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",