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");

Reply via email to