Don't swallow incompatible LoggerContextFactory error.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/6028540e Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/6028540e Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/6028540e Branch: refs/heads/LOG4J-1181 Commit: 6028540ed4de9fb554b05a004a3283a018ed06d8 Parents: c58d928 Author: Matt Sicker <[email protected]> Authored: Fri Oct 30 16:59:28 2015 -0500 Committer: Matt Sicker <[email protected]> Committed: Fri Oct 30 16:59:28 2015 -0500 ---------------------------------------------------------------------- .../src/main/java/org/apache/logging/log4j/LogManager.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/6028540e/log4j-api/src/main/java/org/apache/logging/log4j/LogManager.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/LogManager.java b/log4j-api/src/main/java/org/apache/logging/log4j/LogManager.java index 0ba8709..f10e5a8 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/LogManager.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/LogManager.java @@ -73,10 +73,7 @@ public class LogManager { final String factoryClassName = managerProps.getStringProperty(FACTORY_PROPERTY_NAME); if (factoryClassName != null) { try { - final Class<?> clazz = LoaderUtil.loadClass(factoryClassName); - if (LoggerContextFactory.class.isAssignableFrom(clazz)) { - factory = clazz.asSubclass(LoggerContextFactory.class).newInstance(); - } + factory = LoaderUtil.newCheckedInstanceOf(factoryClassName, LoggerContextFactory.class); } catch (final ClassNotFoundException cnfe) { LOGGER.error("Unable to locate configured LoggerContextFactory {}", factoryClassName); } catch (final Exception ex) {
