Use LoaderUtil instead of Class.forName().

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/2a27b69c
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/2a27b69c
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/2a27b69c

Branch: refs/heads/LOG4J2-1278-gc-free-logger
Commit: 2a27b69c652a39c9ae0997e3482f93ab9917e4b8
Parents: 3ce537b
Author: Matt Sicker <[email protected]>
Authored: Sun Feb 21 21:39:09 2016 -0600
Committer: Matt Sicker <[email protected]>
Committed: Sun Feb 21 21:39:09 2016 -0600

----------------------------------------------------------------------
 .../main/java/org/apache/logging/log4j/spi/AbstractLogger.java  | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2a27b69c/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
----------------------------------------------------------------------
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
index 238b05c..ceac52f 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
@@ -30,6 +30,7 @@ import 
org.apache.logging.log4j.message.ParameterizedMessageFactory;
 import org.apache.logging.log4j.message.StringFormattedMessage;
 import org.apache.logging.log4j.status.StatusLogger;
 import org.apache.logging.log4j.util.LambdaUtil;
+import org.apache.logging.log4j.util.LoaderUtil;
 import org.apache.logging.log4j.util.MessageSupplier;
 import org.apache.logging.log4j.util.PropertiesUtil;
 import org.apache.logging.log4j.util.Strings;
@@ -181,7 +182,7 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
             final Class<ParameterizedMessageFactory> 
defaultMessageFactoryClass) {
         try {
             final String clsName = 
PropertiesUtil.getProperties().getStringProperty(property, 
defaultMessageFactoryClass.getName());
-            return Class.forName(clsName).asSubclass(MessageFactory.class);
+            return 
LoaderUtil.loadClass(clsName).asSubclass(MessageFactory.class);
         } catch (final Throwable t) {
             return defaultMessageFactoryClass;
         }
@@ -191,7 +192,7 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
             final Class<DefaultFlowMessageFactory> 
defaultFlowMessageFactoryClass) {
         try {
             final String clsName = 
PropertiesUtil.getProperties().getStringProperty(property, 
defaultFlowMessageFactoryClass.getName());
-            return Class.forName(clsName).asSubclass(FlowMessageFactory.class);
+            return 
LoaderUtil.loadClass(clsName).asSubclass(FlowMessageFactory.class);
         } catch (final Throwable t) {
             return defaultFlowMessageFactoryClass;
         }

Reply via email to