You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2016/09/11 06:27:48 UTC

[07/50] logging-log4j2 git commit: LOG4J2-1349 implement the new ContextDataInjector::rawContextData() method introduced in LOG4J2-1010 in an efficient manner

LOG4J2-1349 implement the new ContextDataInjector::rawContextData() method introduced in LOG4J2-1010 in an efficient manner


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

Branch: refs/heads/master
Commit: 1600bb2f705580a8a92f7ae8bb30ab7d7aed6d07
Parents: 7994789
Author: rpopma <rp...@apache.org>
Authored: Mon Aug 29 00:30:41 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Mon Aug 29 00:30:41 2016 +0900

----------------------------------------------------------------------
 .../log4j/core/impl/ThreadContextDataInjector.java    | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1600bb2f/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.java
index 0e31a9a..65980f7 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.java
@@ -25,6 +25,7 @@ import org.apache.logging.log4j.core.config.Property;
 import org.apache.logging.log4j.spi.ContextData;
 import org.apache.logging.log4j.spi.MutableContextData;
 import org.apache.logging.log4j.spi.MutableContextDataSupplier;
+import org.apache.logging.log4j.spi.ThreadContextMap;
 
 /**
  * {@code ThreadContextDataInjector} contains a number of strategies for copying key-value pairs from the various
@@ -71,7 +72,10 @@ public class ThreadContextDataInjector  {
 
         @Override
         public ContextData rawContextData() {
-            // TODO LOG4J2-1349: DefaultThreadContextMap itself implements the ContextData interface
+            final ThreadContextMap map = ThreadContextAccess.getThreadContextMap();
+            if (map instanceof ContextData) {
+                return (ContextData) map;
+            }
             final MutableContextData result = ContextDataFactory.createContextData();
             copyThreadContextMap(ThreadContext.getImmutableContext(), result);
             return result;
@@ -122,9 +126,7 @@ public class ThreadContextDataInjector  {
 
         @Override
         public ContextData rawContextData() {
-            // TODO LOG4J2-1349
-            //return ((AbstractGarbageFreeMutableThreadContext) ThreadContext.getThreadContextMap()).getContextData();
-            return null;
+            return ((MutableContextDataSupplier) ThreadContextAccess.getThreadContextMap()).getMutableContextData();
         }
     }
 
@@ -164,9 +166,7 @@ public class ThreadContextDataInjector  {
 
         @Override
         public ContextData rawContextData() {
-            // TODO LOG4J2-1349
-            //return ((AbstractCopyOnWriteMutableThreadContext) ThreadContext.getThreadContextMap()).getContextData();
-            return null;
+            return ((MutableContextDataSupplier) ThreadContextAccess.getThreadContextMap()).getMutableContextData();
         }
     }