LOG4J2-1618 Fixed ClassCastException when using JUL logging during shutdown.


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

Branch: refs/heads/LOG4J2-1390
Commit: a1cd9dd42c4a12dc5bce723f0aff0e8eab332c6a
Parents: a36d111
Author: rpopma <[email protected]>
Authored: Sat Oct 1 20:19:35 2016 +0900
Committer: rpopma <[email protected]>
Committed: Sat Oct 1 20:19:35 2016 +0900

----------------------------------------------------------------------
 .../java/org/apache/logging/log4j/jul/CoreLoggerAdapter.java  | 7 +++++--
 src/changes/changes.xml                                       | 3 +++
 2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a1cd9dd4/log4j-jul/src/main/java/org/apache/logging/log4j/jul/CoreLoggerAdapter.java
----------------------------------------------------------------------
diff --git 
a/log4j-jul/src/main/java/org/apache/logging/log4j/jul/CoreLoggerAdapter.java 
b/log4j-jul/src/main/java/org/apache/logging/log4j/jul/CoreLoggerAdapter.java
index bfdee1f..0840f7f 100644
--- 
a/log4j-jul/src/main/java/org/apache/logging/log4j/jul/CoreLoggerAdapter.java
+++ 
b/log4j-jul/src/main/java/org/apache/logging/log4j/jul/CoreLoggerAdapter.java
@@ -34,7 +34,10 @@ public class CoreLoggerAdapter extends AbstractLoggerAdapter 
{
 
     @Override
     protected Logger newLogger(final String name, final LoggerContext context) 
{
-        return new CoreLogger((org.apache.logging.log4j.core.Logger) 
context.getLogger(name, MESSAGE_FACTORY));
+        final org.apache.logging.log4j.spi.ExtendedLogger original = 
context.getLogger(name, MESSAGE_FACTORY);
+        if (original instanceof org.apache.logging.log4j.core.Logger) {
+            return new CoreLogger((org.apache.logging.log4j.core.Logger) 
original);
+        }
+        return new ApiLogger(original); // LOG4J2-1618 during shutdown, a 
SimpleLogger may be returned
     }
-
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a1cd9dd4/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 824b465..a304ac7 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,6 +24,9 @@
   </properties>
   <body>
     <release version="2.7" date="2016-09-25" description="GA Release 2.7">
+      <action issue="LOG4J2-1618" dev="rpopma" type="fix" due-to="Raman Gupta">
+        Fixed ClassCastException when using JUL logging during shutdown.
+      </action>
       <action issue="LOG4J2-1620" dev="ggregory" type="fix" due-to="Sascha 
Scholz">
         2.7-rc1: RollingFileAppender immediateFlush default value should be 
true, not false.
       </action>

Reply via email to