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(); } }