You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by vy...@apache.org on 2021/11/14 20:00:00 UTC

[logging-log4j2] branch master updated: LOG4J2-3060 LOG4J2-3185 Fix error-propagation logic in DefaultErrorHandler.

This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/master by this push:
     new 04100db  LOG4J2-3060 LOG4J2-3185 Fix error-propagation logic in DefaultErrorHandler.
04100db is described below

commit 04100db0833164434efa0f8a354232662ef6f684
Author: Volkan Yazici <vo...@yazi.ci>
AuthorDate: Sun Nov 14 20:58:41 2021 +0100

    LOG4J2-3060 LOG4J2-3185 Fix error-propagation logic in DefaultErrorHandler.
---
 .../logging/log4j/core/appender/DefaultErrorHandler.java       | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/DefaultErrorHandler.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/DefaultErrorHandler.java
index 6c4c06e..75da9a2 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/DefaultErrorHandler.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/DefaultErrorHandler.java
@@ -71,7 +71,10 @@ public class DefaultErrorHandler implements ErrorHandler {
     @Override
     public void error(final String msg, final Throwable error) {
         final boolean allowed = acquirePermit();
-        if (allowed && !appender.ignoreExceptions() && error != null && !(error instanceof AppenderLoggingException)) {
+        if (allowed) {
+            LOGGER.error(msg, error);
+        }
+        if (!appender.ignoreExceptions() && error != null && !(error instanceof AppenderLoggingException)) {
             throw new AppenderLoggingException(msg, error);
         }
     }
@@ -86,7 +89,10 @@ public class DefaultErrorHandler implements ErrorHandler {
     @Override
     public void error(final String msg, final LogEvent event, final Throwable error) {
         final boolean allowed = acquirePermit();
-        if (allowed && !appender.ignoreExceptions() && error != null && !(error instanceof AppenderLoggingException)) {
+        if (allowed) {
+            LOGGER.error(msg, error);
+        }
+        if (!appender.ignoreExceptions() && error != null && !(error instanceof AppenderLoggingException)) {
             throw new AppenderLoggingException(msg, error);
         }
     }