HADOOP-14706. Adding a helper method to determine whether a log is Log4j implement.
This closes #258 Signed-off-by: Akira Ajisaka <aajisaka@apache.org>
This commit is contained in:
parent
88d6adf419
commit
11e1e0c275
|
@ -170,7 +170,7 @@
|
|||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-log4j12</artifactId>
|
||||
<scope>runtime</scope>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.jackson</groupId>
|
||||
|
|
|
@ -23,6 +23,9 @@ import java.util.List;
|
|||
|
||||
import org.apache.hadoop.classification.InterfaceAudience;
|
||||
import org.apache.hadoop.classification.InterfaceStability;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.slf4j.impl.Log4jLoggerAdapter;
|
||||
|
||||
/**
|
||||
* Contains utility methods for dealing with Java Generics.
|
||||
|
@ -72,4 +75,16 @@ public class GenericsUtil {
|
|||
return toArray(getClass(list.get(0)), list);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determine whether the log of <code>clazz</code> is Log4j implementation.
|
||||
* @param clazz a class to be determined
|
||||
* @return true if the log of <code>clazz</code> is Log4j implementation.
|
||||
*/
|
||||
public static boolean isLog4jLogger(Class<?> clazz) {
|
||||
if (clazz == null) {
|
||||
return false;
|
||||
}
|
||||
Logger log = LoggerFactory.getLogger(clazz);
|
||||
return log instanceof Log4jLoggerAdapter;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -131,4 +131,9 @@ public class TestGenericsUtil extends TestCase {
|
|||
GenericClass.class, c2);
|
||||
}
|
||||
|
||||
public void testIsLog4jLogger() throws Exception {
|
||||
assertFalse("False if clazz is null", GenericsUtil.isLog4jLogger(null));
|
||||
assertTrue("The implementation is Log4j",
|
||||
GenericsUtil.isLog4jLogger(TestGenericsUtil.class));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue