Repository: logging-log4j2 Updated Branches: refs/heads/master c8fd3c530 -> 86d8944fa
[LOG4J2-1061] Log4jMarker#remove(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/86d8944f Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/86d8944f Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/86d8944f Branch: refs/heads/master Commit: 86d8944fa239255195bf0caed7af65b3c7e4cfaf Parents: c8fd3c5 Author: ggregory <[email protected]> Authored: Mon Jun 22 10:13:09 2015 -0700 Committer: ggregory <[email protected]> Committed: Mon Jun 22 10:13:09 2015 -0700 ---------------------------------------------------------------------- .../java/org/apache/logging/slf4j/Log4jMarker.java | 6 +++--- .../java/org/apache/logging/slf4j/MarkerTest.java | 15 +++++++++++++++ src/changes/changes.xml | 3 +++ 3 files changed, 21 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86d8944f/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 c2273f5..d57cf19 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 @@ -55,9 +55,9 @@ public class Log4jMarker implements Marker { } @Override - public boolean remove(final Marker marker) { - return this.marker.remove(MarkerManager.getMarker(marker.getName())); - } + public boolean remove(final Marker marker) { + return marker != null ? this.marker.remove(MarkerManager.getMarker(marker.getName())) : false; + } @Override public String getName() { http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86d8944f/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 ecc7c49..ce2fa1e 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 @@ -92,4 +92,19 @@ public class MarkerTest { CHILD_MAKER_NAME, PARENT_MARKER_NAME, slf4jMarker, slf4jParent), slf4jMarker.contains(slf4jParent)); } + @Test + public void testRemoveNullMarker() { + 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"); + slf4jMarker.add(slf4jParent); + final Marker log4jParent = MarkerManager.getMarker(PARENT_MARKER_NAME + "-CM"); + final Marker log4jMarker = MarkerManager.getMarker(CHILD_MAKER_NAME + "-CM"); + Log4jMarker log4jSlf4jParent = new Log4jMarker(log4jParent); + Log4jMarker log4jSlf4jMarker = new Log4jMarker(log4jMarker); + final org.slf4j.Marker nullMarker = null; + Assert.assertFalse(log4jSlf4jParent.remove(nullMarker)); + Assert.assertFalse(log4jSlf4jMarker.remove(nullMarker)); + } + + } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86d8944f/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index bb54d69..8d731b9 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -93,6 +93,9 @@ <action issue="LOG4J2-1060" dev="ggregory" type="fix"> Log4jMarker#contains(Marker) does not respect org.slf4j.Marker contract. </action> + <action issue="LOG4J2-1061" dev="ggregory" type="fix"> + Log4jMarker#remove(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>
