Repository: logging-log4j2
Updated Branches:
  refs/heads/master 60d1ccd93 -> a57fc35b9


LOG4J2-1227
    Test if the event is null before using it, to avoid NullPointerException.
    Add some unit tests.
    Submitted by: Olivier Lemasle <[email protected]>


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

Branch: refs/heads/master
Commit: 33ee4bfd0aa1f58a705771222132a42d1dfb328c
Parents: 13b0dd8
Author: Olivier Lemasle <[email protected]>
Authored: Mon Dec 21 16:53:36 2015 +0100
Committer: Olivier Lemasle <[email protected]>
Committed: Mon Dec 21 16:53:36 2015 +0100

----------------------------------------------------------------------
 .../logging/log4j/core/lookup/MapLookup.java    |  2 +-
 .../log4j/core/lookup/MapLookupTest.java        | 25 ++++++++++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/33ee4bfd/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/MapLookup.java
----------------------------------------------------------------------
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 c369a0b..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
@@ -118,7 +118,7 @@ public class MapLookup implements StrLookup {
 
     @Override
     public String lookup(final LogEvent event, final String key) {
-        final boolean isMapMessage = event.getMessage() instanceof MapMessage;
+        final boolean isMapMessage = event != null && event.getMessage() 
instanceof MapMessage;
         if (map == null && !isMapMessage) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/33ee4bfd/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/MapLookupTest.java
----------------------------------------------------------------------
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 be550e3..5f26d15 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
@@ -20,6 +20,9 @@ import static org.junit.Assert.assertEquals;
 
 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.junit.Test;
 
 /**
@@ -64,4 +67,26 @@ public class MapLookupTest {
         assertEquals(null, lookup.lookup("foo.txt"));
     }
 
+    @Test
+    public void testEventMapMessage() {
+      final HashMap<String, String> map = new HashMap<>();
+      map.put("A", "B");
+      final HashMap<String, String> eventMap = new HashMap<>();
+      eventMap.put("A1", "B1");
+      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("B1", lookup.lookup(event, "A"));
+    }
+
+    @Test
+    public void testNullEvent() {
+      final HashMap<String, String> map = new HashMap<>();
+      map.put("A", "B");
+      final MapLookup lookup = new MapLookup(map);
+      assertEquals("B", lookup.lookup(null, "A"));
+    }
 }

Reply via email to