This is an automated email from the ASF dual-hosted git repository. ckozak pushed a commit to branch release-2.x in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit 67e387481cf49a7cff495fcb145a386e4e5b6671 Author: lesiak <les...@outlook.com> AuthorDate: Mon Dec 17 16:29:16 2018 +0100 [LOG4J2-2522] Make MapMessageLookup.lookup usable with MapMessage again --- .../apache/logging/log4j/core/lookup/MapLookup.java | 6 +++--- .../logging/log4j/core/lookup/MapLookupTest.java | 18 +++++++++++++++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/MapLookup.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/MapLookup.java index 466decb..c00645e 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/MapLookup.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/MapLookup.java @@ -22,7 +22,7 @@ import java.util.Map; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.config.plugins.Plugin; -import org.apache.logging.log4j.message.StringMapMessage; +import org.apache.logging.log4j.message.MapMessage; /** * A map-based lookup. @@ -118,7 +118,7 @@ public class MapLookup implements StrLookup { @Override public String lookup(final LogEvent event, final String key) { - final boolean isMapMessage = event != null && event.getMessage() instanceof StringMapMessage; + final boolean isMapMessage = event != null && event.getMessage() instanceof MapMessage; if (map == null && !isMapMessage) { return null; } @@ -129,7 +129,7 @@ public class MapLookup implements StrLookup { } } if (isMapMessage) { - return ((StringMapMessage) event.getMessage()).get(key); + return ((MapMessage) event.getMessage()).get(key); } return null; } diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/MapLookupTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/MapLookupTest.java index 61d81ec..f82959b 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/MapLookupTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/MapLookupTest.java @@ -22,6 +22,7 @@ import java.util.HashMap; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.impl.Log4jLogEvent; +import org.apache.logging.log4j.message.MapMessage; import org.apache.logging.log4j.message.StringMapMessage; import org.junit.Test; @@ -68,7 +69,7 @@ public class MapLookupTest { } @Test - public void testEventMapMessage() { + public void testEventStringMapMessage() { final HashMap<String, String> map = new HashMap<>(); map.put("A", "B"); final HashMap<String, String> eventMap = new HashMap<>(); @@ -83,6 +84,21 @@ public class MapLookupTest { } @Test + public void testEventMapMessage() { + final HashMap<String, String> map = new HashMap<>(); + map.put("A", "B"); + final HashMap<String, Object> eventMap = new HashMap<>(); + eventMap.put("A1", 11); + final MapMessage message = new MapMessage<>(eventMap); + final LogEvent event = Log4jLogEvent.newBuilder() + .setMessage(message) + .build(); + final MapLookup lookup = new MapLookup(map); + assertEquals("B", lookup.lookup(event, "A")); + assertEquals("11", lookup.lookup(event, "A1")); + } + + @Test public void testNullEvent() { final HashMap<String, String> map = new HashMap<>(); map.put("A", "B");