You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2022/03/26 00:17:50 UTC

[logging-log4j2] 02/07: Simplify log4j-core check

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

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

commit 83c9abee2844ec6e59e4f347cc1dffdad1fd328d
Author: Matt Sicker <ma...@apache.org>
AuthorDate: Fri Mar 25 18:53:44 2022 -0500

    Simplify log4j-core check
    
    Signed-off-by: Matt Sicker <ma...@apache.org>
---
 .../src/main/java/org/apache/log4j/LogManager.java | 26 ++++++++--------------
 1 file changed, 9 insertions(+), 17 deletions(-)

diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/LogManager.java b/log4j-1.2-api/src/main/java/org/apache/log4j/LogManager.java
index b18c8f1..b4d8b7b 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/LogManager.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/LogManager.java
@@ -16,10 +16,6 @@
  */
 package org.apache.log4j;
 
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.stream.Collectors;
-
 import org.apache.log4j.legacy.core.ContextUtil;
 import org.apache.log4j.spi.DefaultRepositorySelector;
 import org.apache.log4j.spi.LoggerFactory;
@@ -28,8 +24,13 @@ import org.apache.log4j.spi.NOPLoggerRepository;
 import org.apache.log4j.spi.RepositorySelector;
 import org.apache.log4j.spi.RootLogger;
 import org.apache.logging.log4j.spi.LoggerContext;
+import org.apache.logging.log4j.util.LoaderUtil;
 import org.apache.logging.log4j.util.StackLocatorUtil;
 
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.stream.Collectors;
+
 /**
  * The main entry point to Log4j 1.
  */
@@ -66,21 +67,12 @@ public final class LogManager {
     private static final boolean LOG4J_CORE_PRESENT;
 
     static {
-        LOG4J_CORE_PRESENT = checkLog4jCore();
-        //
-        // By default we use a DefaultRepositorySelector which always returns 'hierarchy'.
+        LOG4J_CORE_PRESENT = LoaderUtil.isClassAvailable("org.apache.logging.log4j.core.LoggerContext");
+        // By default, we use a DefaultRepositorySelector which always returns 'hierarchy'.
         final Hierarchy hierarchy = new Hierarchy(new RootLogger(Level.DEBUG));
         repositorySelector = new DefaultRepositorySelector(hierarchy);
     }
 
-    private static boolean checkLog4jCore() {
-        try {
-            return Class.forName("org.apache.logging.log4j.core.LoggerContext") != null;
-        } catch (final Throwable ex) {
-            return false;
-        }
-    }
-
     /**
      * Tests if a logger for the given name exists.
      *
@@ -98,7 +90,7 @@ public final class LogManager {
     /**
      * Gets a LoggerContext.
      *
-     * @param loader The ClassLoader for the context. If null the context will attempt to determine the appropriate
+     * @param classLoader The ClassLoader for the context. If null the context will attempt to determine the appropriate
      *        ClassLoader.
      * @return a LoggerContext.
      */
@@ -210,7 +202,7 @@ public final class LogManager {
         if (selector == null) {
             throw new IllegalArgumentException("RepositorySelector must be non-null.");
         }
-        LogManager.repositorySelector = selector;
+        repositorySelector = selector;
     }
 
     /**