You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ck...@apache.org on 2018/09/11 21:00:55 UTC

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 <ck...@apache.org>
Authored: Tue Sep 11 16:28:49 2018 -0400
Committer: Carter Kozak <ck...@apache.org>
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 @@
       <action issue="LOG4J2-2422" dev="ggregory" type="fix" due-to="rswart, Gary Gregory">
         Handle some unchecked exceptions while loading plugins.
       </action>
+      <action issue="LOG4J2-2441" dev="ckozak" type="fix">
+        Setting a null ErrorHandler on AbstractAppender is not allowed and will no-op as expected.
+      </action>
     </release>
     <release version="2.11.2" date="2018-MM-DD" description="GA Release 2.11.2">
       <action issue="LOG4J2-2391" dev="ckozak" type="update">
@@ -271,6 +274,9 @@
       <action issue="LOG4J2-2422" dev="ggregory" type="fix" due-to="rswart, Gary Gregory">
         Handle some unchecked exceptions while loading plugins.
       </action>
+      <action issue="LOG4J2-2441" dev="ckozak" type="fix">
+        Setting a null ErrorHandler on AbstractAppender is not allowed and will no-op as expected.
+      </action>
     </release>
     <release version="2.11.1" date="2018-07-22" description="GA Release 2.11.1">
       <action issue="LOG4J2-2389" dev="rgoers" type="fix" due-to="Liu Wen">