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

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

commit 5336280f4812972514cb8328a5228bf9c15e9c90
Author: Gary Gregory <[email protected]>
AuthorDate: Mon Jan 24 14:01:16 2022 -0500

    Fix getting the right logger context.
---
 .../logging/log4j/core/config/Configurator.java       | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java
index dfd1a51c61..04656e1431 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java
@@ -324,7 +324,7 @@ public final class Configurator {
      * @return the given logger
      */
     public static Logger setLevel(final Logger logger, final Level level) {
-        setLevel(logger.getName(), level);
+        
setLevel(LoggerContext.getContext(StackLocatorUtil.getCallerClassLoader(2), 
false, null), logger.getName(), level);
         return logger;
     }
 
@@ -350,6 +350,14 @@ public final class Configurator {
         return set;
     }
 
+    private static void setLevel(final LoggerContext loggerContext, final 
String loggerName, final Level level) {
+        if (Strings.isEmpty(loggerName)) {
+            setRootLevel(level, loggerContext);
+        } else if (setLevel(loggerName, level, 
loggerContext.getConfiguration())) {
+            loggerContext.updateLoggers();
+        }
+    }
+
     /**
      * Sets logger levels.
      *
@@ -380,12 +388,7 @@ public final class Configurator {
      *            the new level
      */
     public static void setLevel(final String loggerName, final Level level) {
-        final LoggerContext loggerContext = 
LoggerContext.getContext(StackLocatorUtil.getCallerClassLoader(2), false, null);
-        if (Strings.isEmpty(loggerName)) {
-            setRootLevel(level, loggerContext);
-        } else if (setLevel(loggerName, level, 
loggerContext.getConfiguration())) {
-            loggerContext.updateLoggers();
-        }
+        
setLevel(LoggerContext.getContext(StackLocatorUtil.getCallerClassLoader(2), 
false, null), loggerName, level);
     }
 
     /**
@@ -397,7 +400,7 @@ public final class Configurator {
      *            the new level
      */
     public static void setLevel(final String loggerName, final String level) {
-        setLevel(loggerName, Level.toLevel(level));
+        
setLevel(LoggerContext.getContext(StackLocatorUtil.getCallerClassLoader(2), 
false, null), loggerName, Level.toLevel(level));
     }
 
     private static boolean setLevel(final String loggerName, final Level 
level, final Configuration config) {

Reply via email to