Repository: struts
Updated Branches:
  refs/heads/develop 093532edc -> 951a4f8f2


 WW-4492 Add support for Log4J2 as a struts and xwork logging backend

 - Extend xwork LoggerFactory  to autodetect log4j2 if available in classpath


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/951a4f8f
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/951a4f8f
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/951a4f8f

Branch: refs/heads/develop
Commit: 951a4f8f2bf91d5b9cf6141b3ba00fcc7202fa1b
Parents: 093532e
Author: Johannes Geppert <joh...@gmail.com>
Authored: Sat Apr 18 21:27:22 2015 +0200
Committer: Johannes Geppert <joh...@gmail.com>
Committed: Sat Apr 18 21:27:22 2015 +0200

----------------------------------------------------------------------
 .../opensymphony/xwork2/util/logging/LoggerFactory.java   | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/951a4f8f/xwork-core/src/main/java/com/opensymphony/xwork2/util/logging/LoggerFactory.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/util/logging/LoggerFactory.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/util/logging/LoggerFactory.java
index e9c20f0..6326cfc 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/util/logging/LoggerFactory.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/util/logging/LoggerFactory.java
@@ -18,6 +18,7 @@ package com.opensymphony.xwork2.util.logging;
 import com.opensymphony.xwork2.XWorkConstants;
 import com.opensymphony.xwork2.XWorkException;
 import com.opensymphony.xwork2.util.logging.jdk.JdkLoggerFactory;
+import com.opensymphony.xwork2.util.logging.log4j2.Log4j2LoggerFactory;
 import com.opensymphony.xwork2.util.logging.slf4j.Slf4jLoggerFactory;
 
 import java.util.concurrent.locks.ReadWriteLock;
@@ -80,7 +81,14 @@ public abstract class LoggerFactory {
                             Class.forName("org.slf4j.LoggerFactory");
                             factory = new Slf4jLoggerFactory();
                         } catch (ClassNotFoundException cnfex) {
-                            // slf4j not found, falling back to jdk logging
+                            // slf4j not found try if log4j2 is available in 
classpath
+                            try {
+                                
Class.forName("org.apache.logging.log4j.LogManager");
+                                factory = new Log4j2LoggerFactory();
+                            } catch (ClassNotFoundException cnfex2) {
+                                // log4j2 not found, falling back to jdk 
logging
+                                factory = new JdkLoggerFactory();
+                            }
                             factory = new JdkLoggerFactory();
                         }
                     }

Reply via email to