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/22 15:53:48 UTC
logging-log4j2 git commit: LOG4J2-1447 LOG4J2-1349 moved ContextData
and MutableContextData from spi package to util package
Repository: logging-log4j2
Updated Branches:
refs/heads/master c499b2009 -> 431f9df31
LOG4J2-1447 LOG4J2-1349 moved ContextData and MutableContextData from spi package to util package
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/431f9df3
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/431f9df3
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/431f9df3
Branch: refs/heads/master
Commit: 431f9df3142e12097461c8f925fd871b1fb8d87a
Parents: c499b20
Author: rpopma <rp...@apache.org>
Authored: Fri Sep 23 00:52:55 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Fri Sep 23 00:52:55 2016 +0900
----------------------------------------------------------------------
.../apache/logging/log4j/spi/ContextData.java | 115 -------------------
.../CopyOnWriteSortedArrayThreadContextMap.java | 2 +
.../log4j/spi/DefaultThreadContextMap.java | 1 +
.../GarbageFreeSortedArrayThreadContextMap.java | 2 +
.../logging/log4j/spi/MutableContextData.java | 101 ----------------
.../logging/log4j/spi/ThreadContextMap2.java | 2 +
.../apache/logging/log4j/util/BiConsumer.java | 2 +-
.../apache/logging/log4j/util/ContextData.java | 115 +++++++++++++++++++
.../logging/log4j/util/MutableContextData.java | 98 ++++++++++++++++
.../log4j/util/SortedStringArrayMap.java | 3 -
.../apache/logging/log4j/util/TriConsumer.java | 2 +-
.../logging/log4j/core/AbstractLogEvent.java | 2 +-
.../logging/log4j/core/ContextDataInjector.java | 4 +-
.../org/apache/logging/log4j/core/LogEvent.java | 2 +-
.../db/jpa/AbstractLogEventWrapperEntity.java | 2 +-
.../ContextDataAttributeConverter.java | 2 +-
.../ContextDataJsonAttributeConverter.java | 4 +-
.../logging/log4j/core/async/AsyncLogger.java | 2 +-
.../log4j/core/async/RingBufferLogEvent.java | 4 +-
.../async/RingBufferLogEventTranslator.java | 2 +-
.../core/filter/DynamicThresholdFilter.java | 2 +-
.../logging/log4j/core/filter/MapFilter.java | 2 +-
.../core/filter/ThreadContextMapFilter.java | 2 +-
.../log4j/core/impl/ContextDataFactory.java | 2 +-
.../core/impl/ContextDataInjectorFactory.java | 2 +-
.../logging/log4j/core/impl/Log4jLogEvent.java | 4 +-
.../log4j/core/impl/MutableLogEvent.java | 4 +-
.../core/impl/ReusableLogEventFactory.java | 2 +-
.../core/impl/ThreadContextDataInjector.java | 4 +-
.../ContextDataAsEntryListDeserializer.java | 2 +-
.../ContextDataAsEntryListSerializer.java | 2 +-
.../core/jackson/ContextDataDeserializer.java | 2 +-
.../core/jackson/ContextDataSerializer.java | 2 +-
.../log4j/core/jackson/LogEventJsonMixIn.java | 2 +-
.../jackson/LogEventWithContextListMixIn.java | 2 +-
.../log4j/core/lookup/ContextMapLookup.java | 2 +-
.../log4j/core/pattern/MdcPatternConverter.java | 2 +-
.../core/appender/db/jpa/TestBaseEntity.java | 2 +-
.../ContextDataAttributeConverterTest.java | 2 +-
.../ContextDataJsonAttributeConverterTest.java | 4 +-
.../core/async/RingBufferLogEventTest.java | 2 +-
.../log4j/core/impl/Log4jLogEventTest.java | 2 +-
.../log4j/core/impl/MutableLogEventTest.java | 2 +-
.../log4j/flume/appender/FlumeEvent.java | 6 +-
.../log4j/perf/jmh/ThreadContextBenchmark.java | 2 +-
.../log4j/perf/nogc/OpenHashMapContextData.java | 4 +-
.../CopyOnWriteOpenHashMapThreadContextMap.java | 2 +
.../GarbageFreeOpenHashMapThreadContextMap.java | 2 +
.../org/apache/logging/slf4j/MDCContextMap.java | 2 +-
49 files changed, 272 insertions(+), 267 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-api/src/main/java/org/apache/logging/log4j/spi/ContextData.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/ContextData.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/ContextData.java
deleted file mode 100644
index 787b1da..0000000
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/ContextData.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache license, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the license for the specific language governing permissions and
- * limitations under the license.
- */
-package org.apache.logging.log4j.spi;
-
-import java.io.Serializable;
-import java.util.Map;
-
-import org.apache.logging.log4j.util.BiConsumer;
-import org.apache.logging.log4j.util.TriConsumer;
-
-/**
- * A read-only collection of context data. Context data items are String keys and values of arbitrary type that are
- * set by the application to be included in all subsequent log events. A typical source of context data is the
- * {@code ThreadContextMap} and the {@code Properties} defined in the configuration.
- * <p>
- * Applications can put custom data in this collection by installing a custom {@code ContextDataInjector}.
- * </p>
- *
- * @see org.apache.logging.log4j.spi.ThreadContextMap
- * @since 2.7
- */
-public interface ContextData extends Serializable {
- /**
- * Returns a non-{@code null} mutable {@code Map<String, String>} containing a snapshot of this context data.
- *
- * @return a mutable copy of this context data in {@code Map<String, String>} form
- */
- Map<String, String> toMap();
-
- /**
- * Returns {@code true} if this context data contains the specified key, {@code false} otherwise.
- *
- * @param key the key whose presence to check. May be {@code null}.
- * @return {@code true} if this context data contains the specified key, {@code false} otherwise
- */
- boolean containsKey(String key);
-
- /**
- * Performs the given action for each key-value pair in this data structure
- * until all entries have been processed or the action throws an exception.
- * <p>
- * Some implementations may not support structural modifications (adding new elements or removing elements) while
- * iterating over the contents. In such implementations, attempts to add or remove elements from the
- * {@code BiConsumer}'s {@link BiConsumer#accept(Object, Object)} accept} method may cause a
- * {@code ConcurrentModificationException} to be thrown.
- * </p>
- *
- * @param action The action to be performed for each key-value pair in this collection
- * @param <V> type of the value
- * @throws java.util.ConcurrentModificationException some implementations may not support structural modifications
- * to this context data while iterating over the contents with {@link #forEach(BiConsumer)} or
- * {@link #forEach(TriConsumer, Object)}.
- */
- <V> void forEach(final BiConsumer<String, ? super V> action);
-
- /**
- * Performs the given action for each key-value pair in this data structure
- * until all entries have been processed or the action throws an exception.
- * <p>
- * The third parameter lets callers pass in a stateful object to be modified with the key-value pairs,
- * so the TriConsumer implementation itself can be stateless and potentially reusable.
- * </p>
- * <p>
- * Some implementations may not support structural modifications (adding new elements or removing elements) while
- * iterating over the contents. In such implementations, attempts to add or remove elements from the
- * {@code TriConsumer}'s {@link TriConsumer#accept(Object, Object, Object) accept} method may cause a
- * {@code ConcurrentModificationException} to be thrown.
- * </p>
- *
- * @param action The action to be performed for each key-value pair in this collection
- * @param state the object to be passed as the third parameter to each invocation on the specified
- * triconsumer
- * @param <V> type of the value
- * @param <S> type of the third parameter
- * @throws java.util.ConcurrentModificationException some implementations may not support structural modifications
- * to this context data while iterating over the contents with {@link #forEach(BiConsumer)} or
- * {@link #forEach(TriConsumer, Object)}.
- */
- <V, S> void forEach(final TriConsumer<String, ? super V, S> action, final S state);
-
- /**
- * Returns the value for the specified key, or {@code null} if the specified key does not exist in this collection.
- *
- * @param key the key whose value to return
- * @return the value for the specified key or {@code null}
- */
- <V> V getValue(final String key);
-
- /**
- * Returns {@code true} if this collection is empty (size is zero), {@code false} otherwise.
- * @return {@code true} if this collection is empty (size is zero)
- */
- boolean isEmpty();
-
- /**
- * Returns the number of key-value pairs in this collection.
- *
- * @return the number of key-value pairs in this collection
- */
- int size();
-}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java
index 9a93310..7326202 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteSortedArrayThreadContextMap.java
@@ -20,6 +20,8 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import org.apache.logging.log4j.util.ContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.util.PropertiesUtil;
import org.apache.logging.log4j.util.SortedStringArrayMap;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java
index 143c2e1..386ff6b 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java
@@ -21,6 +21,7 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.logging.log4j.util.BiConsumer;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.util.PropertiesUtil;
import org.apache.logging.log4j.util.TriConsumer;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-api/src/main/java/org/apache/logging/log4j/spi/GarbageFreeSortedArrayThreadContextMap.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/GarbageFreeSortedArrayThreadContextMap.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/GarbageFreeSortedArrayThreadContextMap.java
index 4d3df3e..7a31d02 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/GarbageFreeSortedArrayThreadContextMap.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/GarbageFreeSortedArrayThreadContextMap.java
@@ -20,6 +20,8 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import org.apache.logging.log4j.util.ContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.util.PropertiesUtil;
import org.apache.logging.log4j.util.SortedStringArrayMap;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-api/src/main/java/org/apache/logging/log4j/spi/MutableContextData.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/MutableContextData.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/MutableContextData.java
deleted file mode 100644
index 22c6be1..0000000
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/MutableContextData.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache license, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the license for the specific language governing permissions and
- * limitations under the license.
- */
-package org.apache.logging.log4j.spi;
-
-import org.apache.logging.log4j.util.BiConsumer;
-import org.apache.logging.log4j.util.TriConsumer;
-
-/**
- * Exposes methods to add and remove key-value pairs to and from {@code ContextData}.
- *
- * @see ContextData
- * @since 2.7
- */
-public interface MutableContextData extends ContextData {
-
- /**
- * Removes all key-value pairs from this collection.
- * @throws java.util.ConcurrentModificationException some implementations may not support structural modifications
- * to this context data while iterating over the contents with {@link #forEach(BiConsumer)} or
- * {@link #forEach(TriConsumer, Object)}.
- * @throws UnsupportedOperationException if this collection has been {@linkplain #isFrozen() frozen}.
- */
- void clear();
-
- /**
- * Indicates whether some other object is "equal to" this one.
- *
- * @param obj
- * the reference object with which to compare.
- * @return {@code true} if this object is the same as the obj argument; {@code false} otherwise.
- * @see #hashCode()
- */
- @Override
- boolean equals(final Object obj);
-
- /**
- * Makes this collection immutable. Attempts to modify the collection after the {@code freeze()} method was called
- * will result in an {@code UnsupportedOperationException} being thrown.
- */
- void freeze();
-
- /**
- * Returns a hash code value for the object.
- * @return a hash code value for this object.
- */
- @Override
- int hashCode();
-
- /**
- * Returns {@code true} if this object has been {@linkplain #freeze() frozen}, {@code false} otherwise.
- * @return {@code true} if this object has been {@linkplain #freeze() frozen}, {@code false} otherwise
- */
- boolean isFrozen();
-
- /**
- * Copy all key-value pairs from the specified {@code ContextData} into this {@code MutableContextData}.
- * @param source the {@code ContextData} to copy key-value pairs from
- * @throws java.util.ConcurrentModificationException some implementations may not support structural modifications
- * to this context data while iterating over the contents with {@link #forEach(BiConsumer)} or
- * {@link #forEach(TriConsumer, Object)}.
- * @throws UnsupportedOperationException if this collection has been {@linkplain #isFrozen() frozen}.
- */
- void putAll(final ContextData source);
-
- /**
- * Puts the specified key-value pair into the collection.
- *
- * @param key the key to add or remove. Keys may be {@code null}.
- * @param value the value to add. Values may be {@code null}.
- * @throws java.util.ConcurrentModificationException some implementations may not support structural modifications
- * to this context data while iterating over the contents with {@link #forEach(BiConsumer)} or
- * {@link #forEach(TriConsumer, Object)}.
- * @throws UnsupportedOperationException if this collection has been {@linkplain #isFrozen() frozen}.
- */
- void putValue(final String key, final Object value);
-
- /**
- * Removes the key-value pair for the specified key from this context data collection.
- *
- * @param key the key to remove. May be {@code null}.
- * @throws java.util.ConcurrentModificationException some implementations may not support structural modifications
- * to this context data while iterating over the contents with {@link #forEach(BiConsumer)} or
- * {@link #forEach(TriConsumer, Object)}.
- * @throws UnsupportedOperationException if this collection has been {@linkplain #isFrozen() frozen}.
- */
- void remove(final String key);
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextMap2.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextMap2.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextMap2.java
index 396db68..6b7d086 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextMap2.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/ThreadContextMap2.java
@@ -18,6 +18,8 @@ package org.apache.logging.log4j.spi;
import java.util.Map;
+import org.apache.logging.log4j.util.MutableContextData;
+
/**
* Extension service provider interface to implement additional custom MDC behavior for
* {@link org.apache.logging.log4j.ThreadContext}.
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-api/src/main/java/org/apache/logging/log4j/util/BiConsumer.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/BiConsumer.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/BiConsumer.java
index c86f1b6..713b50b 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/BiConsumer.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/BiConsumer.java
@@ -21,7 +21,7 @@ package org.apache.logging.log4j.util;
*
* @param <K> type of the first argument
* @param <V> type of the second argument
- * @see org.apache.logging.log4j.spi.ContextData
+ * @see ContextData
* @since 2.7
*/
public interface BiConsumer<K, V> {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-api/src/main/java/org/apache/logging/log4j/util/ContextData.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/ContextData.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/ContextData.java
new file mode 100644
index 0000000..ad440a0
--- /dev/null
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/ContextData.java
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.util;
+
+import java.io.Serializable;
+import java.util.Map;
+
+import org.apache.logging.log4j.util.BiConsumer;
+import org.apache.logging.log4j.util.TriConsumer;
+
+/**
+ * A read-only collection of context data. Context data items are String keys and values of arbitrary type that are
+ * set by the application to be included in all subsequent log events. A typical source of context data is the
+ * {@code ThreadContextMap} and the {@code Properties} defined in the configuration.
+ * <p>
+ * Applications can put custom data in this collection by installing a custom {@code ContextDataInjector}.
+ * </p>
+ *
+ * @see org.apache.logging.log4j.spi.ThreadContextMap
+ * @since 2.7
+ */
+public interface ContextData extends Serializable {
+ /**
+ * Returns a non-{@code null} mutable {@code Map<String, String>} containing a snapshot of this context data.
+ *
+ * @return a mutable copy of this context data in {@code Map<String, String>} form
+ */
+ Map<String, String> toMap();
+
+ /**
+ * Returns {@code true} if this context data contains the specified key, {@code false} otherwise.
+ *
+ * @param key the key whose presence to check. May be {@code null}.
+ * @return {@code true} if this context data contains the specified key, {@code false} otherwise
+ */
+ boolean containsKey(String key);
+
+ /**
+ * Performs the given action for each key-value pair in this data structure
+ * until all entries have been processed or the action throws an exception.
+ * <p>
+ * Some implementations may not support structural modifications (adding new elements or removing elements) while
+ * iterating over the contents. In such implementations, attempts to add or remove elements from the
+ * {@code BiConsumer}'s {@link BiConsumer#accept(Object, Object)} accept} method may cause a
+ * {@code ConcurrentModificationException} to be thrown.
+ * </p>
+ *
+ * @param action The action to be performed for each key-value pair in this collection
+ * @param <V> type of the value
+ * @throws java.util.ConcurrentModificationException some implementations may not support structural modifications
+ * to this context data while iterating over the contents with {@link #forEach(BiConsumer)} or
+ * {@link #forEach(TriConsumer, Object)}.
+ */
+ <V> void forEach(final BiConsumer<String, ? super V> action);
+
+ /**
+ * Performs the given action for each key-value pair in this data structure
+ * until all entries have been processed or the action throws an exception.
+ * <p>
+ * The third parameter lets callers pass in a stateful object to be modified with the key-value pairs,
+ * so the TriConsumer implementation itself can be stateless and potentially reusable.
+ * </p>
+ * <p>
+ * Some implementations may not support structural modifications (adding new elements or removing elements) while
+ * iterating over the contents. In such implementations, attempts to add or remove elements from the
+ * {@code TriConsumer}'s {@link TriConsumer#accept(Object, Object, Object) accept} method may cause a
+ * {@code ConcurrentModificationException} to be thrown.
+ * </p>
+ *
+ * @param action The action to be performed for each key-value pair in this collection
+ * @param state the object to be passed as the third parameter to each invocation on the specified
+ * triconsumer
+ * @param <V> type of the value
+ * @param <S> type of the third parameter
+ * @throws java.util.ConcurrentModificationException some implementations may not support structural modifications
+ * to this context data while iterating over the contents with {@link #forEach(BiConsumer)} or
+ * {@link #forEach(TriConsumer, Object)}.
+ */
+ <V, S> void forEach(final TriConsumer<String, ? super V, S> action, final S state);
+
+ /**
+ * Returns the value for the specified key, or {@code null} if the specified key does not exist in this collection.
+ *
+ * @param key the key whose value to return
+ * @return the value for the specified key or {@code null}
+ */
+ <V> V getValue(final String key);
+
+ /**
+ * Returns {@code true} if this collection is empty (size is zero), {@code false} otherwise.
+ * @return {@code true} if this collection is empty (size is zero)
+ */
+ boolean isEmpty();
+
+ /**
+ * Returns the number of key-value pairs in this collection.
+ *
+ * @return the number of key-value pairs in this collection
+ */
+ int size();
+}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-api/src/main/java/org/apache/logging/log4j/util/MutableContextData.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/MutableContextData.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/MutableContextData.java
new file mode 100644
index 0000000..cde3874
--- /dev/null
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/MutableContextData.java
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.util;
+
+/**
+ * Exposes methods to add and remove key-value pairs to and from {@code ContextData}.
+ *
+ * @see ContextData
+ * @since 2.7
+ */
+public interface MutableContextData extends ContextData {
+
+ /**
+ * Removes all key-value pairs from this collection.
+ * @throws java.util.ConcurrentModificationException some implementations may not support structural modifications
+ * to this context data while iterating over the contents with {@link #forEach(BiConsumer)} or
+ * {@link #forEach(TriConsumer, Object)}.
+ * @throws UnsupportedOperationException if this collection has been {@linkplain #isFrozen() frozen}.
+ */
+ void clear();
+
+ /**
+ * Indicates whether some other object is "equal to" this one.
+ *
+ * @param obj
+ * the reference object with which to compare.
+ * @return {@code true} if this object is the same as the obj argument; {@code false} otherwise.
+ * @see #hashCode()
+ */
+ @Override
+ boolean equals(final Object obj);
+
+ /**
+ * Makes this collection immutable. Attempts to modify the collection after the {@code freeze()} method was called
+ * will result in an {@code UnsupportedOperationException} being thrown.
+ */
+ void freeze();
+
+ /**
+ * Returns a hash code value for the object.
+ * @return a hash code value for this object.
+ */
+ @Override
+ int hashCode();
+
+ /**
+ * Returns {@code true} if this object has been {@linkplain #freeze() frozen}, {@code false} otherwise.
+ * @return {@code true} if this object has been {@linkplain #freeze() frozen}, {@code false} otherwise
+ */
+ boolean isFrozen();
+
+ /**
+ * Copy all key-value pairs from the specified {@code ContextData} into this {@code MutableContextData}.
+ * @param source the {@code ContextData} to copy key-value pairs from
+ * @throws java.util.ConcurrentModificationException some implementations may not support structural modifications
+ * to this context data while iterating over the contents with {@link #forEach(BiConsumer)} or
+ * {@link #forEach(TriConsumer, Object)}.
+ * @throws UnsupportedOperationException if this collection has been {@linkplain #isFrozen() frozen}.
+ */
+ void putAll(final ContextData source);
+
+ /**
+ * Puts the specified key-value pair into the collection.
+ *
+ * @param key the key to add or remove. Keys may be {@code null}.
+ * @param value the value to add. Values may be {@code null}.
+ * @throws java.util.ConcurrentModificationException some implementations may not support structural modifications
+ * to this context data while iterating over the contents with {@link #forEach(BiConsumer)} or
+ * {@link #forEach(TriConsumer, Object)}.
+ * @throws UnsupportedOperationException if this collection has been {@linkplain #isFrozen() frozen}.
+ */
+ void putValue(final String key, final Object value);
+
+ /**
+ * Removes the key-value pair for the specified key from this context data collection.
+ *
+ * @param key the key to remove. May be {@code null}.
+ * @throws java.util.ConcurrentModificationException some implementations may not support structural modifications
+ * to this context data while iterating over the contents with {@link #forEach(BiConsumer)} or
+ * {@link #forEach(TriConsumer, Object)}.
+ * @throws UnsupportedOperationException if this collection has been {@linkplain #isFrozen() frozen}.
+ */
+ void remove(final String key);
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-api/src/main/java/org/apache/logging/log4j/util/SortedStringArrayMap.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/SortedStringArrayMap.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/SortedStringArrayMap.java
index 7cdf3a4..3d30069 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/SortedStringArrayMap.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/SortedStringArrayMap.java
@@ -24,9 +24,6 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
-import org.apache.logging.log4j.spi.ContextData;
-import org.apache.logging.log4j.spi.MutableContextData;
-
/**
* <em>Consider this class private.</em>
* Array-based implementation of the {@code ContextData} interface. Keys are held in a sorted array.
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-api/src/main/java/org/apache/logging/log4j/util/TriConsumer.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/TriConsumer.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/TriConsumer.java
index caf689f..9b83eff 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/TriConsumer.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/TriConsumer.java
@@ -22,7 +22,7 @@ package org.apache.logging.log4j.util;
* @param <K> type of the first argument
* @param <V> type of the second argument
* @param <S> type of the third argument
- * @see org.apache.logging.log4j.spi.ContextData
+ * @see ContextData
* @since 2.7
*/
public interface TriConsumer<K, V, S> {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLogEvent.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLogEvent.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLogEvent.java
index 01b2883..8577fa1 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLogEvent.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLogEvent.java
@@ -25,7 +25,7 @@ import org.apache.logging.log4j.ThreadContext;
import org.apache.logging.log4j.ThreadContext.ContextStack;
import org.apache.logging.log4j.core.impl.ThrowableProxy;
import org.apache.logging.log4j.message.Message;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
/**
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/ContextDataInjector.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/ContextDataInjector.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/ContextDataInjector.java
index 93f719b..b17a5a0 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/ContextDataInjector.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/ContextDataInjector.java
@@ -21,8 +21,8 @@ import java.util.List;
import org.apache.logging.log4j.core.config.Property;
import org.apache.logging.log4j.core.impl.ContextDataInjectorFactory;
import org.apache.logging.log4j.core.impl.ThreadContextDataInjector;
-import org.apache.logging.log4j.spi.ContextData;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.ContextData;
+import org.apache.logging.log4j.util.MutableContextData;
/**
* Responsible for initializing the ContextData of LogEvents. Context data is data that is set by the application to be
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/LogEvent.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/LogEvent.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/LogEvent.java
index bbcea0d..892a692 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/LogEvent.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/LogEvent.java
@@ -25,7 +25,7 @@ import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.ThreadContext;
import org.apache.logging.log4j.core.impl.ThrowableProxy;
import org.apache.logging.log4j.message.Message;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
/**
* Provides contextual information about a logged message. A LogEvent must be {@link java.io.Serializable} so that it
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/AbstractLogEventWrapperEntity.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/AbstractLogEventWrapperEntity.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/AbstractLogEventWrapperEntity.java
index 661beab..5d40548 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/AbstractLogEventWrapperEntity.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/AbstractLogEventWrapperEntity.java
@@ -26,7 +26,7 @@ import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.ThreadContext;
import org.apache.logging.log4j.core.AbstractLogEvent;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.appender.db.jpa.converter.ContextDataAttributeConverter;
import org.apache.logging.log4j.message.Message;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataAttributeConverter.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataAttributeConverter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataAttributeConverter.java
index 9441ec1..fdffe10 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataAttributeConverter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataAttributeConverter.java
@@ -19,7 +19,7 @@ package org.apache.logging.log4j.core.appender.db.jpa.converter;
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
/**
* A JPA 2.1 attribute converter for {@link ContextData ContextData<Object>}s in
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataJsonAttributeConverter.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataJsonAttributeConverter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataJsonAttributeConverter.java
index 03ae801..71ab47a 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataJsonAttributeConverter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataJsonAttributeConverter.java
@@ -23,9 +23,9 @@ import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
import javax.persistence.PersistenceException;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.core.impl.ContextDataFactory;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.util.BiConsumer;
import org.apache.logging.log4j.util.Strings;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/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 46f5c7b..b89b797 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
@@ -38,7 +38,7 @@ import org.apache.logging.log4j.core.util.NanoClock;
import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.MessageFactory;
import org.apache.logging.log4j.message.ReusableMessage;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.status.StatusLogger;
import com.lmax.disruptor.EventTranslatorVararg;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
index fd273b3..44bc766 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
@@ -23,11 +23,11 @@ import java.util.Map;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.ThreadContext.ContextStack;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.impl.ContextDataFactory;
import org.apache.logging.log4j.core.impl.Log4jLogEvent;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.core.impl.ThrowableProxy;
import org.apache.logging.log4j.core.util.Constants;
import org.apache.logging.log4j.message.Message;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEventTranslator.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEventTranslator.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEventTranslator.java
index facfc57..d85b7c5 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEventTranslator.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEventTranslator.java
@@ -21,7 +21,7 @@ import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.ThreadContext.ContextStack;
import org.apache.logging.log4j.core.ContextDataInjector;
import org.apache.logging.log4j.core.impl.ContextDataInjectorFactory;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.message.Message;
import com.lmax.disruptor.EventTranslator;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/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 d52f1ec..aec0937 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
@@ -35,7 +35,7 @@ import org.apache.logging.log4j.core.ContextDataInjector;
import org.apache.logging.log4j.core.impl.ContextDataInjectorFactory;
import org.apache.logging.log4j.core.util.KeyValuePair;
import org.apache.logging.log4j.message.Message;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
/**
* Compares against a log level that is associated with a context value. By default the context is the
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MapFilter.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MapFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MapFilter.java
index e428d63..d112327 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MapFilter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MapFilter.java
@@ -35,7 +35,7 @@ import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.util.KeyValuePair;
import org.apache.logging.log4j.message.MapMessage;
import org.apache.logging.log4j.message.Message;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
/**
* A Filter that operates on a Map.
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/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 602e474..0a9d862 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
@@ -37,7 +37,7 @@ import org.apache.logging.log4j.core.ContextDataInjector;
import org.apache.logging.log4j.core.impl.ContextDataInjectorFactory;
import org.apache.logging.log4j.core.util.KeyValuePair;
import org.apache.logging.log4j.message.Message;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
/**
* Filter based on a value in the Thread Context Map (MDC).
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataFactory.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataFactory.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataFactory.java
index 19dd179..3d52c8f 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataFactory.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataFactory.java
@@ -17,7 +17,7 @@
package org.apache.logging.log4j.core.impl;
import org.apache.logging.log4j.util.SortedStringArrayMap;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.util.PropertiesUtil;
/**
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.java
index eb1e0ce..3379955 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ContextDataInjectorFactory.java
@@ -19,7 +19,7 @@ package org.apache.logging.log4j.core.impl;
import org.apache.logging.log4j.ThreadContextAccess;
import org.apache.logging.log4j.core.ContextDataInjector;
import org.apache.logging.log4j.core.LogEvent;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.spi.CopyOnWrite;
import org.apache.logging.log4j.spi.ThreadContextMap;
import org.apache.logging.log4j.spi.ThreadContextMap2;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jLogEvent.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jLogEvent.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jLogEvent.java
index 85dde79..894d0d2 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jLogEvent.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jLogEvent.java
@@ -27,7 +27,7 @@ import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.ThreadContext;
import org.apache.logging.log4j.core.ContextDataInjector;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.async.RingBufferLogEvent;
import org.apache.logging.log4j.core.config.LoggerConfig;
@@ -41,7 +41,7 @@ import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.ReusableMessage;
import org.apache.logging.log4j.message.SimpleMessage;
import org.apache.logging.log4j.message.TimestampMessage;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.status.StatusLogger;
import org.apache.logging.log4j.util.Strings;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/MutableLogEvent.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/MutableLogEvent.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/MutableLogEvent.java
index 68f7b78..0b9d544 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/MutableLogEvent.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/MutableLogEvent.java
@@ -24,14 +24,14 @@ import java.util.Map;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.ThreadContext;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.util.Constants;
import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.ParameterizedMessage;
import org.apache.logging.log4j.message.ReusableMessage;
import org.apache.logging.log4j.message.SimpleMessage;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.util.Strings;
/**
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ReusableLogEventFactory.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ReusableLogEventFactory.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ReusableLogEventFactory.java
index 825f1f7..de715d0 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ReusableLogEventFactory.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ReusableLogEventFactory.java
@@ -29,7 +29,7 @@ import org.apache.logging.log4j.core.util.Clock;
import org.apache.logging.log4j.core.util.ClockFactory;
import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.TimestampMessage;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
/**
* Garbage-free LogEventFactory that reuses a single mutable log event.
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/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 b836163..525f50e 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
@@ -23,8 +23,8 @@ import org.apache.logging.log4j.ThreadContext;
import org.apache.logging.log4j.ThreadContextAccess;
import org.apache.logging.log4j.core.ContextDataInjector;
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.util.ContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.spi.ThreadContextMap;
/**
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataAsEntryListDeserializer.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataAsEntryListDeserializer.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataAsEntryListDeserializer.java
index c6d5245..b14cfce 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataAsEntryListDeserializer.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataAsEntryListDeserializer.java
@@ -21,7 +21,7 @@ import java.util.List;
import java.util.Map;
import org.apache.logging.log4j.core.impl.ContextDataFactory;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataAsEntryListSerializer.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataAsEntryListSerializer.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataAsEntryListSerializer.java
index 329c6fa..db124eb 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataAsEntryListSerializer.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataAsEntryListSerializer.java
@@ -19,7 +19,7 @@ package org.apache.logging.log4j.core.jackson;
import java.io.IOException;
import java.util.Map;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.util.BiConsumer;
import com.fasterxml.jackson.core.JsonGenerationException;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataDeserializer.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataDeserializer.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataDeserializer.java
index fadd5d4..3b4cba2 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataDeserializer.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataDeserializer.java
@@ -21,7 +21,7 @@ import java.io.IOException;
import java.util.Map;
import org.apache.logging.log4j.core.impl.ContextDataFactory;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataSerializer.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataSerializer.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataSerializer.java
index 67d6c8b..161ee6a 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataSerializer.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/ContextDataSerializer.java
@@ -19,7 +19,7 @@ package org.apache.logging.log4j.core.jackson;
import java.io.IOException;
import java.util.Map;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.util.TriConsumer;
import com.fasterxml.jackson.core.JsonGenerationException;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/LogEventJsonMixIn.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/LogEventJsonMixIn.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/LogEventJsonMixIn.java
index 30b01a8..e354f89 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/LogEventJsonMixIn.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/LogEventJsonMixIn.java
@@ -21,7 +21,7 @@ import java.util.Map;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.ThreadContext.ContextStack;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.impl.ThrowableProxy;
import org.apache.logging.log4j.message.Message;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/LogEventWithContextListMixIn.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/LogEventWithContextListMixIn.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/LogEventWithContextListMixIn.java
index c195001..b18204e 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/LogEventWithContextListMixIn.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/jackson/LogEventWithContextListMixIn.java
@@ -21,7 +21,7 @@ import java.util.Map;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.ThreadContext.ContextStack;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.impl.ThrowableProxy;
import org.apache.logging.log4j.message.Message;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/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 3d4a1a0..397a8eb 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
@@ -21,7 +21,7 @@ import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.ContextDataInjector;
import org.apache.logging.log4j.core.impl.ContextDataInjectorFactory;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
/**
* Looks up keys from the context. By default this is the {@link ThreadContext}, but users may
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MdcPatternConverter.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MdcPatternConverter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MdcPatternConverter.java
index 1fc0512..760bcbd 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MdcPatternConverter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MdcPatternConverter.java
@@ -16,7 +16,7 @@
*/
package org.apache.logging.log4j.core.pattern;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.util.Constants;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/TestBaseEntity.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/TestBaseEntity.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/TestBaseEntity.java
index facb29d..f09bf09 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/TestBaseEntity.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/TestBaseEntity.java
@@ -34,7 +34,7 @@ import javax.persistence.Transient;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.ThreadContext;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.appender.db.jpa.converter.LevelAttributeConverter;
import org.apache.logging.log4j.core.appender.db.jpa.converter.MessageAttributeConverter;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataAttributeConverterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataAttributeConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataAttributeConverterTest.java
index dc9e3db..a56c15a 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataAttributeConverterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataAttributeConverterTest.java
@@ -17,7 +17,7 @@
package org.apache.logging.log4j.core.appender.db.jpa.converter;
import org.apache.logging.log4j.util.SortedStringArrayMap;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataJsonAttributeConverterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataJsonAttributeConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataJsonAttributeConverterTest.java
index 7582111..76a11fc 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataJsonAttributeConverterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jpa/converter/ContextDataJsonAttributeConverterTest.java
@@ -16,9 +16,9 @@
*/
package org.apache.logging.log4j.core.appender.db.jpa.converter;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.util.SortedStringArrayMap;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/test/java/org/apache/logging/log4j/core/async/RingBufferLogEventTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/RingBufferLogEventTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/RingBufferLogEventTest.java
index e1b711c..16fc036 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/RingBufferLogEventTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/RingBufferLogEventTest.java
@@ -29,7 +29,7 @@ import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.MarkerManager;
import org.apache.logging.log4j.ThreadContext.ContextStack;
import org.apache.logging.log4j.core.LogEvent;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.core.impl.ThrowableProxy;
import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.SimpleMessage;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/Log4jLogEventTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/Log4jLogEventTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/Log4jLogEventTest.java
index 0cf48c7..b662eff 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/Log4jLogEventTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/Log4jLogEventTest.java
@@ -41,7 +41,7 @@ import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.ObjectMessage;
import org.apache.logging.log4j.message.SimpleMessage;
import org.apache.logging.log4j.util.SortedStringArrayMap;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.util.Strings;
import org.junit.AfterClass;
import org.junit.BeforeClass;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/MutableLogEventTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/MutableLogEventTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/MutableLogEventTest.java
index 04593b8..5ce6fca 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/MutableLogEventTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/MutableLogEventTest.java
@@ -30,7 +30,7 @@ import org.apache.logging.log4j.ThreadContext;
import org.apache.logging.log4j.message.ParameterizedMessage;
import org.apache.logging.log4j.message.SimpleMessage;
import org.apache.logging.log4j.util.SortedStringArrayMap;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.spi.MutableThreadContextStack;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java
----------------------------------------------------------------------
diff --git a/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java b/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java
index 7753748..7ecffe0 100644
--- a/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java
+++ b/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java
@@ -29,7 +29,7 @@ import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LoggingException;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.ThreadContext;
-import org.apache.logging.log4j.spi.ContextData;
+import org.apache.logging.log4j.util.ContextData;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.impl.ThrowableProxy;
import org.apache.logging.log4j.core.util.Patterns;
@@ -322,8 +322,8 @@ public class FlumeEvent extends SimpleEvent implements LogEvent {
}
/**
- * Returns the {@code ContextData} of the {@code LogEvent} that this {@code FlumeEvent} was constructed with.
- * @return the {@code ContextData} of the {@code LogEvent} that this {@code FlumeEvent} was constructed with.
+ * Returns the context data of the {@code LogEvent} that this {@code FlumeEvent} was constructed with.
+ * @return the context data of the {@code LogEvent} that this {@code FlumeEvent} was constructed with.
*/
@Override
public ContextData getContextData() {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadContextBenchmark.java
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadContextBenchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadContextBenchmark.java
index e7d37ee..a04a5c4 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadContextBenchmark.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadContextBenchmark.java
@@ -34,7 +34,7 @@ import org.apache.logging.log4j.perf.nogc.OpenHashMapContextData;
import org.apache.logging.log4j.spi.CopyOnWriteOpenHashMapThreadContextMap;
import org.apache.logging.log4j.spi.DefaultThreadContextMap;
import org.apache.logging.log4j.spi.GarbageFreeOpenHashMapThreadContextMap;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.spi.ThreadContextMap;
import org.apache.logging.log4j.util.SortedStringArrayMap;
import org.openjdk.jmh.annotations.Benchmark;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-perf/src/main/java/org/apache/logging/log4j/perf/nogc/OpenHashMapContextData.java
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/nogc/OpenHashMapContextData.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/nogc/OpenHashMapContextData.java
index 8cf953d..fa228ac 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/nogc/OpenHashMapContextData.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/nogc/OpenHashMapContextData.java
@@ -26,8 +26,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
-import org.apache.logging.log4j.spi.ContextData;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.ContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.spi.ThreadContextMap;
import org.apache.logging.log4j.util.BiConsumer;
import org.apache.logging.log4j.util.TriConsumer;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-perf/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteOpenHashMapThreadContextMap.java
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteOpenHashMapThreadContextMap.java b/log4j-perf/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteOpenHashMapThreadContextMap.java
index 463e3ed..6724aed 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteOpenHashMapThreadContextMap.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/spi/CopyOnWriteOpenHashMapThreadContextMap.java
@@ -17,6 +17,8 @@
package org.apache.logging.log4j.spi;
import org.apache.logging.log4j.perf.nogc.OpenHashMapContextData;
+import org.apache.logging.log4j.util.ContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.util.PropertiesUtil;
/**
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-perf/src/main/java/org/apache/logging/log4j/spi/GarbageFreeOpenHashMapThreadContextMap.java
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/spi/GarbageFreeOpenHashMapThreadContextMap.java b/log4j-perf/src/main/java/org/apache/logging/log4j/spi/GarbageFreeOpenHashMapThreadContextMap.java
index 5df5dda..8f1a931 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/spi/GarbageFreeOpenHashMapThreadContextMap.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/spi/GarbageFreeOpenHashMapThreadContextMap.java
@@ -17,6 +17,8 @@
package org.apache.logging.log4j.spi;
import org.apache.logging.log4j.perf.nogc.OpenHashMapContextData;
+import org.apache.logging.log4j.util.ContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.util.PropertiesUtil;
/**
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/431f9df3/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/MDCContextMap.java
----------------------------------------------------------------------
diff --git a/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/MDCContextMap.java b/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/MDCContextMap.java
index b709af8..e048896 100644
--- a/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/MDCContextMap.java
+++ b/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/MDCContextMap.java
@@ -19,7 +19,7 @@ package org.apache.logging.slf4j;
import java.util.Map;
import java.util.Map.Entry;
-import org.apache.logging.log4j.spi.MutableContextData;
+import org.apache.logging.log4j.util.MutableContextData;
import org.apache.logging.log4j.spi.ThreadContextMap2;
import org.apache.logging.log4j.util.SortedStringArrayMap;
import org.slf4j.MDC;