Przeglądaj źródła

HADOOP-16717. Remove GenericsUtil isLog4jLogger dependency on Log4jLoggerAdapter. Contributed by Xieming Li.

Akira Ajisaka 5 lat temu
rodzic
commit
da9435182a

+ 6 - 2
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/GenericsUtil.java

@@ -25,7 +25,6 @@ import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.classification.InterfaceStability;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
-import org.slf4j.impl.Log4jLoggerAdapter;
 
 
 /**
 /**
  * Contains utility methods for dealing with Java Generics. 
  * Contains utility methods for dealing with Java Generics. 
@@ -85,6 +84,11 @@ public class GenericsUtil {
       return false;
       return false;
     }
     }
     Logger log = LoggerFactory.getLogger(clazz);
     Logger log = LoggerFactory.getLogger(clazz);
-    return log instanceof Log4jLoggerAdapter;
+    try {
+      Class log4jClass = Class.forName("org.slf4j.impl.Log4jLoggerAdapter");
+      return log4jClass.isInstance(log);
+    } catch (ClassNotFoundException e) {
+      return false;
+    }
   }
   }
 }
 }