logging-log4j2 git commit: [LOG4J2-2441] Disallow setting a null ErrorHandler on AbstractAppender
Repository: logging-log4j2 Updated Branches: refs/heads/release-2.x 323942383 -> e407d18ef [LOG4J2-2441] Disallow setting a null ErrorHandler on AbstractAppender Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/e407d18e Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/e407d18e Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/e407d18e Branch: refs/heads/release-2.x Commit: e407d18efba1694f94fcf9c8eecf15b6b56fbd90 Parents: 3239423 Author: Carter Kozak Authored: Tue Sep 11 16:28:49 2018 -0400 Committer: Carter Kozak Committed: Tue Sep 11 17:01:30 2018 -0400 -- .../logging/log4j/core/appender/AbstractAppender.java | 1 + .../core/appender/ConsoleAppenderBuilderTest.java | 14 ++ src/changes/changes.xml | 3 +++ 3 files changed, 18 insertions(+) -- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e407d18e/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java -- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java index 57974bd..c97f70c 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java @@ -244,6 +244,7 @@ public abstract class AbstractAppender extends AbstractFilterable implements App public void setHandler(final ErrorHandler handler) { if (handler == null) { LOGGER.error("The handler cannot be set to null"); +return; } if (isStarted()) { LOGGER.error("The handler cannot be changed once the appender is started"); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e407d18e/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderBuilderTest.java -- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderBuilderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderBuilderTest.java index 01025b4..a3303bb 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderBuilderTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderBuilderTest.java @@ -18,6 +18,7 @@ package org.apache.logging.log4j.core.appender; import java.nio.charset.Charset; +import org.apache.logging.log4j.core.ErrorHandler; import org.apache.logging.log4j.core.layout.PatternLayout; import org.junit.Assert; import org.junit.Test; @@ -46,4 +47,17 @@ public class ConsoleAppenderBuilderTest { Assert.assertEquals(expectedName, layout.getCharset().name()); } +/** + * Tests https://issues.apache.org/jira/browse/LOG4J2-2441 + */ +@Test +public void testSetNullErrorHandlerIsNotAllowed() { +final ConsoleAppender appender = ConsoleAppender.newBuilder().withName("test").build(); +ErrorHandler handler = appender.getHandler(); +Assert.assertNotNull(handler); +// This could likely be allowed to throw, but we're just testing that +// setting null does not actually set a null handler. +appender.setHandler(null); +Assert.assertSame(handler, appender.getHandler()); +} } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e407d18e/src/changes/changes.xml -- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index bb7eff6..93efc9f 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -55,6 +55,9 @@ Handle some unchecked exceptions while loading plugins. + +Setting a null ErrorHandler on AbstractAppender is not allowed and will no-op as expected. +
logging-log4j2 git commit: [LOG4J2-2441] Disallow setting a null ErrorHandler on AbstractAppender
Repository: logging-log4j2 Updated Branches: refs/heads/master de6593f5f -> e663564f7 [LOG4J2-2441] Disallow setting a null ErrorHandler on AbstractAppender Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/e663564f Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/e663564f Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/e663564f Branch: refs/heads/master Commit: e663564f74b7440de67b140e2511f300cc6fc59e Parents: de6593f Author: Carter Kozak Authored: Tue Sep 11 16:28:49 2018 -0400 Committer: Carter Kozak Committed: Tue Sep 11 17:00:50 2018 -0400 -- .../logging/log4j/core/appender/AbstractAppender.java | 1 + .../core/appender/ConsoleAppenderBuilderTest.java | 14 ++ src/changes/changes.xml | 6 ++ 3 files changed, 21 insertions(+) -- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e663564f/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java -- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java index 57974bd..c97f70c 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java @@ -244,6 +244,7 @@ public abstract class AbstractAppender extends AbstractFilterable implements App public void setHandler(final ErrorHandler handler) { if (handler == null) { LOGGER.error("The handler cannot be set to null"); +return; } if (isStarted()) { LOGGER.error("The handler cannot be changed once the appender is started"); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e663564f/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderBuilderTest.java -- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderBuilderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderBuilderTest.java index 01025b4..a3303bb 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderBuilderTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderBuilderTest.java @@ -18,6 +18,7 @@ package org.apache.logging.log4j.core.appender; import java.nio.charset.Charset; +import org.apache.logging.log4j.core.ErrorHandler; import org.apache.logging.log4j.core.layout.PatternLayout; import org.junit.Assert; import org.junit.Test; @@ -46,4 +47,17 @@ public class ConsoleAppenderBuilderTest { Assert.assertEquals(expectedName, layout.getCharset().name()); } +/** + * Tests https://issues.apache.org/jira/browse/LOG4J2-2441 + */ +@Test +public void testSetNullErrorHandlerIsNotAllowed() { +final ConsoleAppender appender = ConsoleAppender.newBuilder().withName("test").build(); +ErrorHandler handler = appender.getHandler(); +Assert.assertNotNull(handler); +// This could likely be allowed to throw, but we're just testing that +// setting null does not actually set a null handler. +appender.setHandler(null); +Assert.assertSame(handler, appender.getHandler()); +} } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e663564f/src/changes/changes.xml -- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index e7652f9..6767f52 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -245,6 +245,9 @@ Handle some unchecked exceptions while loading plugins. + +Setting a null ErrorHandler on AbstractAppender is not allowed and will no-op as expected. + @@ -271,6 +274,9 @@ Handle some unchecked exceptions while loading plugins. + +Setting a null ErrorHandler on AbstractAppender is not allowed and will no-op as expected. +