LOG4J2-1010 use the new ContextDataInjector::rawContextData() method to get fast access to the underlying context data in filters and lookups.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/16eca7fc Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/16eca7fc Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/16eca7fc Branch: refs/heads/LOG4J2-1349-gcfree-threadcontext Commit: 16eca7fce0d9874332e381f61b23fbfd2fd9d05e Parents: d057eb2 Author: rpopma <rpo...@apache.org> Authored: Sun Aug 28 23:58:19 2016 +0900 Committer: rpopma <rpo...@apache.org> Committed: Sun Aug 28 23:58:19 2016 +0900 ---------------------------------------------------------------------- .../logging/log4j/core/filter/DynamicThresholdFilter.java | 9 +-------- .../logging/log4j/core/filter/ThreadContextMapFilter.java | 9 +-------- .../apache/logging/log4j/core/lookup/ContextMapLookup.java | 9 +-------- 3 files changed, 3 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/16eca7fc/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java index d6146d7..e8bdf37 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java @@ -32,10 +32,8 @@ import org.apache.logging.log4j.core.config.plugins.Plugin; import org.apache.logging.log4j.core.config.plugins.PluginAttribute; import org.apache.logging.log4j.core.config.plugins.PluginElement; import org.apache.logging.log4j.core.config.plugins.PluginFactory; -import org.apache.logging.log4j.core.impl.ContextDataFactory; import org.apache.logging.log4j.core.impl.ContextDataInjector; import org.apache.logging.log4j.core.impl.ContextDataInjectorFactory; -import org.apache.logging.log4j.core.impl.MutableContextData; import org.apache.logging.log4j.core.util.KeyValuePair; import org.apache.logging.log4j.message.Message; @@ -158,12 +156,7 @@ public final class DynamicThresholdFilter extends AbstractFilter { } private ContextData currentContextData() { - return injector.injectContextData(null, reusableInstance()); - } - - private MutableContextData reusableInstance() { - // TODO if (Constants.ENABLE_THREADLOCALS) return thread-local instance - return ContextDataFactory.createContextData(); // creates temporary object + return injector.rawContextData(); } @Override http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/16eca7fc/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java index 35debf4..49b7044 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java @@ -34,10 +34,8 @@ import org.apache.logging.log4j.core.config.plugins.PluginAliases; import org.apache.logging.log4j.core.config.plugins.PluginAttribute; import org.apache.logging.log4j.core.config.plugins.PluginElement; import org.apache.logging.log4j.core.config.plugins.PluginFactory; -import org.apache.logging.log4j.core.impl.ContextDataFactory; import org.apache.logging.log4j.core.impl.ContextDataInjector; import org.apache.logging.log4j.core.impl.ContextDataInjectorFactory; -import org.apache.logging.log4j.core.impl.MutableContextData; import org.apache.logging.log4j.core.util.KeyValuePair; import org.apache.logging.log4j.message.Message; @@ -119,12 +117,7 @@ public class ThreadContextMapFilter extends MapFilter { } private ContextData currentContextData() { - return injector.injectContextData(null, reusableInstance()); - } - - private MutableContextData reusableInstance() { - // TODO if (Constants.ENABLE_THREADLOCALS) return thread-local instance - return ContextDataFactory.createContextData(); // creates temporary object + return injector.rawContextData(); } @Override http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/16eca7fc/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/ContextMapLookup.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/ContextMapLookup.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/ContextMapLookup.java index 57818bc..bfbc5ea 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/ContextMapLookup.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/ContextMapLookup.java @@ -20,10 +20,8 @@ import org.apache.logging.log4j.ThreadContext; import org.apache.logging.log4j.core.ContextData; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.config.plugins.Plugin; -import org.apache.logging.log4j.core.impl.ContextDataFactory; import org.apache.logging.log4j.core.impl.ContextDataInjector; import org.apache.logging.log4j.core.impl.ContextDataInjectorFactory; -import org.apache.logging.log4j.core.impl.MutableContextData; /** * Looks up keys from the context. By default this is the {@link ThreadContext}, but users may @@ -46,12 +44,7 @@ public class ContextMapLookup implements StrLookup { } private ContextData currentContextData() { - return injector.injectContextData(null, reusableInstance()); - } - - private MutableContextData reusableInstance() { - // TODO if (Constants.ENABLE_THREADLOCALS) return thread-local instance - return ContextDataFactory.createContextData(); // creates temporary object + return injector.rawContextData(); } /**