You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2015/06/22 19:17:22 UTC

logging-log4j2 git commit: [LOG4J2-1062] Log4jMarker#add(Marker) does not respect org.slf4j.Marker contract.

Repository: logging-log4j2
Updated Branches:
  refs/heads/master 86d8944fa -> 4cf831b69


[LOG4J2-1062] Log4jMarker#add(Marker) does not respect org.slf4j.Marker
contract.

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

Branch: refs/heads/master
Commit: 4cf831b69978218c97649400c33ca6ec882e3989
Parents: 86d8944
Author: ggregory <gg...@apache.org>
Authored: Mon Jun 22 10:17:19 2015 -0700
Committer: ggregory <gg...@apache.org>
Committed: Mon Jun 22 10:17:19 2015 -0700

----------------------------------------------------------------------
 .../org/apache/logging/slf4j/Log4jMarker.java   |  3 +++
 .../org/apache/logging/slf4j/MarkerTest.java    | 24 ++++++++++++++++++++
 src/changes/changes.xml                         |  3 +++
 3 files changed, 30 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4cf831b6/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jMarker.java
----------------------------------------------------------------------
diff --git a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jMarker.java b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jMarker.java
index d57cf19..aee8dcf 100644
--- a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jMarker.java
+++ b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jMarker.java
@@ -50,6 +50,9 @@ public class Log4jMarker implements Marker {
 
     @Override
     public void add(final Marker marker) {
+		if (marker == null) {
+			throw new IllegalArgumentException();
+		}
         final Marker m = factory.getMarker(marker.getName());
         this.marker.addParents(((Log4jMarker)m).getLog4jMarker());
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4cf831b6/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/MarkerTest.java
----------------------------------------------------------------------
diff --git a/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/MarkerTest.java b/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/MarkerTest.java
index ce2fa1e..2ef29f1 100644
--- a/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/MarkerTest.java
+++ b/log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/MarkerTest.java
@@ -40,6 +40,30 @@ public class MarkerTest {
     }
 
     @Test
+	public void testAddNullMarker() {
+		final org.slf4j.Marker slf4jMarker = org.slf4j.MarkerFactory.getMarker(CHILD_MAKER_NAME + "-ANM");
+		final org.slf4j.Marker slf4jParent = org.slf4j.MarkerFactory.getMarker(PARENT_MARKER_NAME + "-ANM");
+		slf4jMarker.add(slf4jParent);
+		final Marker log4jParent = MarkerManager.getMarker(PARENT_MARKER_NAME + "-ANM");
+		final Marker log4jMarker = MarkerManager.getMarker(CHILD_MAKER_NAME + "ANM");
+		Log4jMarker log4jSlf4jParent = new Log4jMarker(log4jParent);
+		Log4jMarker log4jSlf4jMarker = new Log4jMarker(log4jMarker);
+		final org.slf4j.Marker nullMarker = null;
+		try {
+			log4jSlf4jParent.add(nullMarker);
+			fail("Expected " + IllegalArgumentException.class.getName());
+		} catch (IllegalArgumentException e) {
+			// expected
+		}
+		try {
+			log4jSlf4jMarker.add(nullMarker);
+			fail("Expected " + IllegalArgumentException.class.getName());
+		} catch (IllegalArgumentException e) {
+			// expected
+		}
+	}
+
+    @Test
 	public void testContainsMarker() {
 		final org.slf4j.Marker slf4jMarker = org.slf4j.MarkerFactory.getMarker(CHILD_MAKER_NAME + "-CM");
 		final org.slf4j.Marker slf4jParent = org.slf4j.MarkerFactory.getMarker(PARENT_MARKER_NAME + "-CM");

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4cf831b6/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 8d731b9..657f762 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -96,6 +96,9 @@
       <action issue="LOG4J2-1061" dev="ggregory" type="fix">
         Log4jMarker#remove(Marker) does not respect org.slf4j.Marker contract.
       </action>            
+      <action issue="LOG4J2-1062" dev="ggregory" type="fix">
+        Log4jMarker#add(Marker) does not respect org.slf4j.Marker contract.
+      </action>            
       <action issue="LOG4J2-890" dev="ggregory" type="update" due-to="Hassan Kalaldeh, Robert Andersson, Remko Popma">
         log4j-web-2.1 should workaround a bug in JBOSS EAP 6.2.
       </action>