http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java
----------------------------------------------------------------------
diff --git 
a/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java 
b/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java
index c4fd827..e637f20 100644
--- a/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java
+++ b/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionMapper.java
@@ -25,8 +25,8 @@ import com.opensymphony.xwork2.config.Configuration;
 import com.opensymphony.xwork2.config.ConfigurationManager;
 import com.opensymphony.xwork2.config.entities.PackageConfig;
 import com.opensymphony.xwork2.inject.Inject;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import org.apache.struts2.RequestUtils;
 import org.apache.struts2.StrutsConstants;
 import org.apache.struts2.dispatcher.mapper.ActionMapping;
@@ -96,7 +96,7 @@ import java.util.HashMap;
  */
 public class RestActionMapper extends DefaultActionMapper {
 
-    protected static final Logger LOG = 
LoggerFactory.getLogger(RestActionMapper.class);
+    protected static final Logger LOG = 
LogManager.getLogger(RestActionMapper.class);
     public static final String HTTP_METHOD_PARAM = "_method";
     private String idParameterName = "id";
     private String indexMethodName = "index";

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java
----------------------------------------------------------------------
diff --git 
a/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java
 
b/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java
index 72193ae..ce794c1 100644
--- 
a/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java
+++ 
b/plugins/rest/src/main/java/org/apache/struts2/rest/RestWorkflowInterceptor.java
@@ -27,8 +27,8 @@ import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.ValidationAware;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.dispatcher.mapper.ActionMapping;
 
@@ -134,7 +134,7 @@ public class RestWorkflowInterceptor extends 
MethodFilterInterceptor {
        
        private static final long serialVersionUID = 7563014655616490865L;
 
-       private static final Logger LOG = 
LoggerFactory.getLogger(RestWorkflowInterceptor.class);
+       private static final Logger LOG = 
LogManager.getLogger(RestWorkflowInterceptor.class);
        
        private String inputResultName = Action.INPUT;
        

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/SiteGraph.java
----------------------------------------------------------------------
diff --git 
a/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/SiteGraph.java 
b/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/SiteGraph.java
index 2a30c34..accfd3b 100644
--- 
a/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/SiteGraph.java
+++ 
b/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/SiteGraph.java
@@ -21,8 +21,8 @@
 
 package org.apache.struts2.sitegraph;
 
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import org.apache.struts2.StrutsException;
 import org.apache.struts2.sitegraph.renderers.DOTRenderer;
 
@@ -45,7 +45,7 @@ import java.io.*;
  */
 public class SiteGraph {
 
-    private static final Logger LOG = LoggerFactory.getLogger(SiteGraph.class);
+    private static final Logger LOG = LogManager.getLogger(SiteGraph.class);
 
     private String configDir;
     private String views;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/StrutsConfigRetriever.java
----------------------------------------------------------------------
diff --git 
a/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/StrutsConfigRetriever.java
 
b/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/StrutsConfigRetriever.java
index 11605fa..1e6b245 100644
--- 
a/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/StrutsConfigRetriever.java
+++ 
b/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/StrutsConfigRetriever.java
@@ -25,8 +25,8 @@ import com.opensymphony.xwork2.config.ConfigurationManager;
 import com.opensymphony.xwork2.config.ConfigurationProvider;
 import com.opensymphony.xwork2.config.entities.ActionConfig;
 import com.opensymphony.xwork2.config.entities.ResultConfig;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import org.apache.struts2.config.DefaultBeanSelectionProvider;
 import org.apache.struts2.config.DefaultPropertiesProvider;
 import org.apache.struts2.config.PropertiesConfigurationProvider;
@@ -48,7 +48,7 @@ import java.util.Set;
  */
 public class StrutsConfigRetriever {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(StrutsConfigRetriever.class);
+    private static final Logger LOG = 
LogManager.getLogger(StrutsConfigRetriever.class);
     private static String configDir;
     private static String[] views;
     private static boolean isXWorkStarted = false;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/FileBasedView.java
----------------------------------------------------------------------
diff --git 
a/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/FileBasedView.java
 
b/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/FileBasedView.java
index 91b44b7..1ac2f3c 100644
--- 
a/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/FileBasedView.java
+++ 
b/plugins/sitegraph/src/main/java/org/apache/struts2/sitegraph/entities/FileBasedView.java
@@ -21,8 +21,8 @@
 
 package org.apache.struts2.sitegraph.entities;
 
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import org.apache.struts2.sitegraph.model.Link;
 
 import java.io.*;
@@ -37,7 +37,7 @@ public abstract class FileBasedView implements View {
     private String name;
     private String contents;
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(FileBasedView.class);
+    private static final Logger LOG = 
LogManager.getLogger(FileBasedView.class);
 
     public FileBasedView(File file) {
         this.name = file.getName();

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
----------------------------------------------------------------------
diff --git 
a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
 
b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
index b2b9b35..4f573bd 100644
--- 
a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
+++ 
b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/FreemarkerDecoratorServlet.java
@@ -23,7 +23,7 @@ package org.apache.struts2.sitemesh;
 import com.opensymphony.module.sitemesh.HTMLPage;
 import com.opensymphony.module.sitemesh.RequestConstants;
 import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
 import freemarker.core.InvalidReferenceException;
 import freemarker.template.Configuration;
 import freemarker.template.ObjectWrapper;
@@ -31,6 +31,7 @@ import freemarker.template.SimpleHash;
 import freemarker.template.Template;
 import freemarker.template.TemplateException;
 import freemarker.template.TemplateModel;
+import org.apache.logging.log4j.Logger;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.StrutsStatics;
 import org.apache.struts2.dispatcher.Dispatcher;
@@ -57,26 +58,11 @@ import java.util.Locale;
  * own manager</p>
  */
 public class FreemarkerDecoratorServlet extends 
freemarker.ext.servlet.FreemarkerServlet {
-    private static final com.opensymphony.xwork2.util.logging.Logger LOG = 
LoggerFactory.getLogger(FreemarkerDecoratorServlet.class);
-
-
-    protected FreemarkerManager freemarkerManager;
-
 
+    private static final Logger LOG = 
LogManager.getLogger(FreemarkerDecoratorServlet.class);
     public static final long serialVersionUID = -2440216393145762479L;
 
-
-/*
-    private static final String EXPIRATION_DATE;
-
-    static {
-        // Generate expiration date that is one year from now in the past
-        GregorianCalendar expiration = new GregorianCalendar();
-        expiration.roll(Calendar.YEAR, -1);
-        SimpleDateFormat httpDate = new SimpleDateFormat("EEE, dd MMM yyyy 
HH:mm:ss z", java.util.Locale.US);
-        EXPIRATION_DATE = httpDate.format(expiration.getTime());
-    }
-*/
+    protected FreemarkerManager freemarkerManager;
     protected String templatePath;
     protected boolean nocache;
     protected boolean debug;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/OldDecorator2NewStrutsFreemarkerDecorator.java
----------------------------------------------------------------------
diff --git 
a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/OldDecorator2NewStrutsFreemarkerDecorator.java
 
b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/OldDecorator2NewStrutsFreemarkerDecorator.java
index 44f7905..d767f18 100644
--- 
a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/OldDecorator2NewStrutsFreemarkerDecorator.java
+++ 
b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/OldDecorator2NewStrutsFreemarkerDecorator.java
@@ -26,8 +26,8 @@ import com.opensymphony.module.sitemesh.HTMLPage;
 import com.opensymphony.sitemesh.Content;
 import com.opensymphony.sitemesh.compatability.Content2HTMLPage;
 import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import com.opensymphony.xwork2.util.profiling.UtilTimerStack;
 import freemarker.template.Configuration;
 import freemarker.template.SimpleHash;
@@ -45,7 +45,7 @@ import java.io.IOException;
  * Extends OldDecorator2NewStrutsDecorator to add Struts functionality  for 
Freemarker
  */
 public class OldDecorator2NewStrutsFreemarkerDecorator extends 
OldDecorator2NewStrutsDecorator {
-    private static final Logger LOG = 
LoggerFactory.getLogger(OldDecorator2NewStrutsFreemarkerDecorator.class);
+    private static final Logger LOG = 
LogManager.getLogger(OldDecorator2NewStrutsFreemarkerDecorator.class);
 
     private static FreemarkerManager freemarkerManager;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/OldDecorator2NewStrutsVelocityDecorator.java
----------------------------------------------------------------------
diff --git 
a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/OldDecorator2NewStrutsVelocityDecorator.java
 
b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/OldDecorator2NewStrutsVelocityDecorator.java
index b5362ce..cb1ea18 100644
--- 
a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/OldDecorator2NewStrutsVelocityDecorator.java
+++ 
b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/OldDecorator2NewStrutsVelocityDecorator.java
@@ -29,8 +29,8 @@ import com.opensymphony.sitemesh.Content;
 import com.opensymphony.sitemesh.compatability.Content2HTMLPage;
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.inject.Inject;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import org.apache.struts2.views.velocity.VelocityManager;
 import org.apache.velocity.context.Context;
 
@@ -45,7 +45,7 @@ import java.io.PrintWriter;
  * Extends OldDecorator2NewStrutsDecorator to add Struts functionality for 
Velocity
  */
 public class OldDecorator2NewStrutsVelocityDecorator extends 
OldDecorator2NewStrutsDecorator {
-    private static final Logger LOG = 
LoggerFactory.getLogger(OldDecorator2NewStrutsFreemarkerDecorator.class);
+    private static final Logger LOG = 
LogManager.getLogger(OldDecorator2NewStrutsFreemarkerDecorator.class);
 
     private static VelocityManager velocityManager;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/StrutsSiteMeshFactory.java
----------------------------------------------------------------------
diff --git 
a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/StrutsSiteMeshFactory.java
 
b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/StrutsSiteMeshFactory.java
index 96405fb..a47802f 100644
--- 
a/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/StrutsSiteMeshFactory.java
+++ 
b/plugins/sitemesh/src/main/java/org/apache/struts2/sitemesh/StrutsSiteMeshFactory.java
@@ -21,15 +21,15 @@ package org.apache.struts2.sitemesh;
 import com.opensymphony.module.sitemesh.Config;
 import com.opensymphony.module.sitemesh.factory.DefaultFactory;
 import com.opensymphony.xwork2.ActionContext;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.StrutsStatics;
 
 public class StrutsSiteMeshFactory extends DefaultFactory {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(StrutsSiteMeshFactory.class);
+    private static final Logger LOG = 
LogManager.getLogger(StrutsSiteMeshFactory.class);
 
     public StrutsSiteMeshFactory(Config config) {
         super(config);

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java
----------------------------------------------------------------------
diff --git 
a/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java
 
b/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java
index 60f782d..b3f9a53 100644
--- 
a/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java
+++ 
b/plugins/spring/src/main/java/org/apache/struts2/spring/ClassReloadingXMLWebApplicationContext.java
@@ -23,8 +23,8 @@ package org.apache.struts2.spring;
 import com.opensymphony.xwork2.util.classloader.FileResourceStore;
 import com.opensymphony.xwork2.util.classloader.JarResourceStore;
 import com.opensymphony.xwork2.util.classloader.ReloadingClassLoader;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import org.apache.commons.jci.monitor.FilesystemAlterationListener;
 import org.apache.commons.jci.monitor.FilesystemAlterationMonitor;
 import org.apache.commons.jci.monitor.FilesystemAlterationObserver;
@@ -71,7 +71,7 @@ import java.util.regex.Pattern;
  * </ul>
  */
 public class ClassReloadingXMLWebApplicationContext extends 
XmlWebApplicationContext implements FilesystemAlterationListener {
-    private static final Logger LOG = 
LoggerFactory.getLogger(ClassReloadingXMLWebApplicationContext.class);
+    private static final Logger LOG = 
LogManager.getLogger(ClassReloadingXMLWebApplicationContext.class);
 
     protected ReloadingClassLoader classLoader;
     protected FilesystemAlterationMonitor fam;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
----------------------------------------------------------------------
diff --git 
a/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
 
b/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
index d95830a..c34a6e4 100644
--- 
a/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
+++ 
b/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
@@ -24,8 +24,8 @@ package org.apache.struts2.spring;
 import com.opensymphony.xwork2.inject.Container;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.spring.SpringObjectFactory;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import org.apache.struts2.StrutsConstants;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
@@ -44,7 +44,7 @@ import javax.servlet.ServletContext;
  *
  */
 public class StrutsSpringObjectFactory extends SpringObjectFactory {
-    private static final Logger LOG = 
LoggerFactory.getLogger(StrutsSpringObjectFactory.class);
+    private static final Logger LOG = 
LogManager.getLogger(StrutsSpringObjectFactory.class);
 
     //@Inject
     //public StrutsSpringObjectFactory(

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesListener.java
----------------------------------------------------------------------
diff --git 
a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesListener.java 
b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesListener.java
index b2213ca..b04908a 100644
--- 
a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesListener.java
+++ 
b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesListener.java
@@ -31,8 +31,8 @@ import org.apache.tiles.TilesException;
 import org.apache.tiles.factory.TilesContainerFactory;
 import org.apache.tiles.web.startup.TilesListener;
 
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 /**
  * Listener used to automatically inject ServletContext
@@ -47,7 +47,7 @@ import com.opensymphony.xwork2.util.logging.LoggerFactory;
  */
 public class StrutsTilesListener extends TilesListener {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(StrutsTilesListener.class);
+    private static final Logger LOG = 
LogManager.getLogger(StrutsTilesListener.class);
 
     private static final Map<String, String> INIT;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesRequestContext.java
----------------------------------------------------------------------
diff --git 
a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesRequestContext.java
 
b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesRequestContext.java
index 856517c..0e2f865 100644
--- 
a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesRequestContext.java
+++ 
b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesRequestContext.java
@@ -24,8 +24,8 @@ package org.apache.struts2.tiles;
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.inject.Container;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.views.freemarker.FreemarkerResult;
 import org.apache.tiles.context.TilesRequestContext;
@@ -48,7 +48,7 @@ import java.io.IOException;
  */
 public class StrutsTilesRequestContext extends TilesRequestContextWrapper {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(StrutsTilesRequestContext.class);
+    private static final Logger LOG = 
LogManager.getLogger(StrutsTilesRequestContext.class);
 
     /**
      * The mask used to detect requests which should be intercepted.

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/ActionChainResult.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ActionChainResult.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ActionChainResult.java
index 170c567..694dbfe 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/ActionChainResult.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ActionChainResult.java
@@ -18,8 +18,8 @@ package com.opensymphony.xwork2;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.util.TextParseUtil;
 import com.opensymphony.xwork2.util.ValueStack;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.*;
 
@@ -81,7 +81,7 @@ import java.util.*;
 */
 public class ActionChainResult implements Result {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(ActionChainResult.class);
+    private static final Logger LOG = 
LogManager.getLogger(ActionChainResult.class);
 
     /**
      * The result parameter name to set the name of the action to chain to.

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ActionSupport.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
index 31eb5d3..940dbfa 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ActionSupport.java
@@ -18,16 +18,11 @@ package com.opensymphony.xwork2;
 import com.opensymphony.xwork2.inject.Container;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.util.ValueStack;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.Serializable;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.ResourceBundle;
+import java.util.*;
 
 
 /**
@@ -36,7 +31,7 @@ import java.util.ResourceBundle;
  */
 public class ActionSupport implements Action, Validateable, ValidationAware, 
TextProvider, LocaleProvider, Serializable {
 
-    protected static Logger LOG = LoggerFactory.getLogger(ActionSupport.class);
+    protected static Logger LOG = LogManager.getLogger(ActionSupport.class);
 
     private final ValidationAwareSupport validationAware = new 
ValidationAwareSupport();
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/CompositeTextProvider.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/CompositeTextProvider.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/CompositeTextProvider.java
index 2e1ce4c..af18986 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/CompositeTextProvider.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/CompositeTextProvider.java
@@ -1,8 +1,8 @@
 package com.opensymphony.xwork2;
 
 import com.opensymphony.xwork2.util.ValueStack;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.*;
 
@@ -17,7 +17,7 @@ import java.util.*;
  */
 public class CompositeTextProvider implements TextProvider {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(CompositeTextProvider.class);
+    private static final Logger LOG = 
LogManager.getLogger(CompositeTextProvider.class);
 
     private List<TextProvider> textProviders = new ArrayList<TextProvider>();
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java
index 1bf7ccf..917a376 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionInvocation.java
@@ -25,12 +25,11 @@ import 
com.opensymphony.xwork2.interceptor.PreResultListener;
 import com.opensymphony.xwork2.ognl.OgnlUtil;
 import com.opensymphony.xwork2.util.ValueStack;
 import com.opensymphony.xwork2.util.ValueStackFactory;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
 import com.opensymphony.xwork2.util.profiling.UtilTimerStack;
 import ognl.MethodFailedException;
 import ognl.NoSuchPropertyException;
-import ognl.OgnlException;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -48,7 +47,7 @@ import java.util.Map;
  */
 public class DefaultActionInvocation implements ActionInvocation {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(DefaultActionInvocation.class);
+    private static final Logger LOG = 
LogManager.getLogger(DefaultActionInvocation.class);
 
     protected Object action;
     protected ActionProxy proxy;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java
index 92c3870..e66d269 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultActionProxy.java
@@ -25,11 +25,11 @@ import 
com.opensymphony.xwork2.config.ConfigurationException;
 import com.opensymphony.xwork2.config.entities.ActionConfig;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.util.LocalizedTextUtil;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
 import com.opensymphony.xwork2.util.profiling.UtilTimerStack;
 import org.apache.commons.lang3.StringEscapeUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.Serializable;
 import java.util.Locale;
@@ -48,7 +48,7 @@ public class DefaultActionProxy implements ActionProxy, 
Serializable {
 
     private static final long serialVersionUID = 3293074152487468527L;
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(DefaultActionProxy.class);
+    private static final Logger LOG = 
LogManager.getLogger(DefaultActionProxy.class);
 
     protected Configuration configuration;
     protected ActionConfig config;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProvider.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProvider.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProvider.java
index 0aafd93..b83339c 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProvider.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/DefaultLocaleProvider.java
@@ -1,7 +1,7 @@
 package com.opensymphony.xwork2;
 
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.util.Locale;
 
@@ -10,7 +10,7 @@ import java.util.Locale;
  */
 public class DefaultLocaleProvider implements LocaleProvider {
 
-    private final static Logger LOG = 
LoggerFactory.getLogger(DefaultLocaleProvider.class);
+    private final static Logger LOG = 
LogManager.getLogger(DefaultLocaleProvider.class);
 
     public Locale getLocale() {
         ActionContext ctx = ActionContext.getContext();

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java
index bdee961..f1a6c7f 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java
@@ -20,19 +20,14 @@ import com.opensymphony.xwork2.config.entities.ActionConfig;
 import com.opensymphony.xwork2.config.entities.InterceptorConfig;
 import com.opensymphony.xwork2.config.entities.ResultConfig;
 import com.opensymphony.xwork2.conversion.TypeConverter;
-import com.opensymphony.xwork2.factory.ActionFactory;
-import com.opensymphony.xwork2.factory.ConverterFactory;
-import com.opensymphony.xwork2.factory.InterceptorFactory;
-import com.opensymphony.xwork2.factory.ResultFactory;
-import com.opensymphony.xwork2.factory.UnknownHandlerFactory;
-import com.opensymphony.xwork2.factory.ValidatorFactory;
+import com.opensymphony.xwork2.factory.*;
 import com.opensymphony.xwork2.inject.Container;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.interceptor.Interceptor;
 import com.opensymphony.xwork2.util.ClassLoaderUtil;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
 import com.opensymphony.xwork2.validator.Validator;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 
 import java.io.Serializable;
 import java.util.Map;
@@ -50,7 +45,7 @@ import java.util.Map;
  */
 public class ObjectFactory implements Serializable {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(ObjectFactory.class);
+    private static final Logger LOG = 
LogManager.getLogger(ObjectFactory.class);
 
     private transient ClassLoader ccl;
     private Container container;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java
index 462d9d9..9476133 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/TextProviderSupport.java
@@ -19,11 +19,7 @@ import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.util.LocalizedTextUtil;
 import com.opensymphony.xwork2.util.ValueStack;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Locale;
-import java.util.ResourceBundle;
+import java.util.*;
 
 
 /**

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkJUnit4TestCase.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkJUnit4TestCase.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkJUnit4TestCase.java
index 46f44b6..86a33c6 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkJUnit4TestCase.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkJUnit4TestCase.java
@@ -19,11 +19,7 @@ import com.opensymphony.xwork2.config.Configuration;
 import com.opensymphony.xwork2.config.ConfigurationException;
 import com.opensymphony.xwork2.config.ConfigurationManager;
 import com.opensymphony.xwork2.config.ConfigurationProvider;
-import com.opensymphony.xwork2.inject.Container;
-import com.opensymphony.xwork2.inject.ContainerBuilder;
-import com.opensymphony.xwork2.inject.Context;
-import com.opensymphony.xwork2.inject.Factory;
-import com.opensymphony.xwork2.inject.Scope;
+import com.opensymphony.xwork2.inject.*;
 import com.opensymphony.xwork2.test.StubConfigurationProvider;
 import com.opensymphony.xwork2.util.XWorkTestCaseHelper;
 import com.opensymphony.xwork2.util.location.LocatableProperties;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
index 042fda4..d853322 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationManager.java
@@ -19,8 +19,8 @@ import com.opensymphony.xwork2.XWorkConstants;
 import com.opensymphony.xwork2.config.impl.DefaultConfiguration;
 import com.opensymphony.xwork2.config.providers.XWorkConfigurationProvider;
 import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
@@ -38,7 +38,7 @@ import java.util.concurrent.locks.ReentrantLock;
  */
 public class ConfigurationManager {
 
-    protected static final Logger LOG = 
LoggerFactory.getLogger(ConfigurationManager.class);
+    protected static final Logger LOG = 
LogManager.getLogger(ConfigurationManager.class);
     protected Configuration configuration;
     protected Lock providerLock = new ReentrantLock();
     private List<ContainerProvider> containerProviders = new 
CopyOnWriteArrayList<ContainerProvider>();

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationUtil.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationUtil.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationUtil.java
index 936afe5..ea84841 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationUtil.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/ConfigurationUtil.java
@@ -16,8 +16,8 @@
 package com.opensymphony.xwork2.config;
 
 import com.opensymphony.xwork2.config.entities.PackageConfig;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -31,7 +31,7 @@ import java.util.StringTokenizer;
  */
 public class ConfigurationUtil {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(ConfigurationUtil.class);
+    private static final Logger LOG = 
LogManager.getLogger(ConfigurationUtil.class);
 
     private ConfigurationUtil() {
     }

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java
index eeb530e..7d0a981 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/entities/PackageConfig.java
@@ -17,8 +17,8 @@ package com.opensymphony.xwork2.config.entities;
 
 import com.opensymphony.xwork2.util.location.Located;
 import com.opensymphony.xwork2.util.location.Location;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.io.Serializable;
 import java.util.ArrayList;
@@ -38,7 +38,7 @@ import java.util.Map;
  */
 public class PackageConfig extends Located implements Comparable, 
Serializable, InterceptorLocator {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(PackageConfig.class);
+    private static final Logger LOG = 
LogManager.getLogger(PackageConfig.class);
 
     protected Map<String, ActionConfig> actionConfigs;
     protected Map<String, ResultConfig> globalResultConfigs;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/AbstractMatcher.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/AbstractMatcher.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/AbstractMatcher.java
index 391e254..5a1d33d 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/AbstractMatcher.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/AbstractMatcher.java
@@ -18,8 +18,8 @@
 package com.opensymphony.xwork2.config.impl;
 
 import com.opensymphony.xwork2.util.PatternMatcher;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import org.apache.commons.lang3.math.NumberUtils;
 
 import java.io.Serializable;
@@ -42,7 +42,7 @@ public abstract class AbstractMatcher<E> implements 
Serializable {
     /**
      * <p> The logging instance </p>
      */
-    private static final Logger log = 
LoggerFactory.getLogger(AbstractMatcher.class);
+    private static final Logger log = 
LogManager.getLogger(AbstractMatcher.class);
 
     /**
      * <p> Handles all wildcard pattern matching. </p>

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java
index fb92d61..d811c43 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/impl/DefaultConfiguration.java
@@ -87,8 +87,8 @@ import com.opensymphony.xwork2.util.ValueStackFactory;
 import com.opensymphony.xwork2.util.fs.DefaultFileManager;
 import com.opensymphony.xwork2.util.fs.DefaultFileManagerFactory;
 import com.opensymphony.xwork2.util.location.LocatableProperties;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import com.opensymphony.xwork2.util.reflection.ReflectionProvider;
 import ognl.PropertyAccessor;
 
@@ -110,7 +110,7 @@ import java.util.TreeSet;
  */
 public class DefaultConfiguration implements Configuration {
 
-    protected static final Logger LOG = 
LoggerFactory.getLogger(DefaultConfiguration.class);
+    protected static final Logger LOG = 
LogManager.getLogger(DefaultConfiguration.class);
 
 
     // Programmatic Action Configurations

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/InterceptorBuilder.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/InterceptorBuilder.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/InterceptorBuilder.java
index 5e0b004..f60f7d8 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/InterceptorBuilder.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/InterceptorBuilder.java
@@ -23,8 +23,8 @@ import 
com.opensymphony.xwork2.config.entities.InterceptorMapping;
 import com.opensymphony.xwork2.config.entities.InterceptorStackConfig;
 import com.opensymphony.xwork2.interceptor.Interceptor;
 import com.opensymphony.xwork2.util.location.Location;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
@@ -42,7 +42,7 @@ import java.util.Map;
  */
 public class InterceptorBuilder {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(InterceptorBuilder.class);
+    private static final Logger LOG = 
LogManager.getLogger(InterceptorBuilder.class);
 
 
     /**

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java
index 153ae90..4f6f5ab 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/config/providers/XmlConfigurationProvider.java
@@ -35,8 +35,8 @@ import com.opensymphony.xwork2.util.*;
 import com.opensymphony.xwork2.util.location.LocatableProperties;
 import com.opensymphony.xwork2.util.location.Location;
 import com.opensymphony.xwork2.util.location.LocationUtils;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -64,7 +64,7 @@ import java.util.*;
  */
 public class XmlConfigurationProvider implements ConfigurationProvider {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(XmlConfigurationProvider.class);
+    private static final Logger LOG = 
LogManager.getLogger(XmlConfigurationProvider.class);
 
     private List<Document> documents;
     private Set<String> includedFileNames;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionAnnotationProcessor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionAnnotationProcessor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionAnnotationProcessor.java
index 0f10085..d22cf54 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionAnnotationProcessor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionAnnotationProcessor.java
@@ -8,8 +8,8 @@ import 
com.opensymphony.xwork2.conversion.annotations.ConversionRule;
 import com.opensymphony.xwork2.conversion.annotations.ConversionType;
 import com.opensymphony.xwork2.conversion.annotations.TypeConversion;
 import com.opensymphony.xwork2.inject.Inject;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.util.Map;
 
@@ -18,7 +18,7 @@ import java.util.Map;
  */
 public class DefaultConversionAnnotationProcessor implements 
ConversionAnnotationProcessor {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(DefaultConversionAnnotationProcessor.class);
+    private static final Logger LOG = 
LogManager.getLogger(DefaultConversionAnnotationProcessor.class);
 
     private TypeConverterCreator converterCreator;
     private TypeConverterHolder converterHolder;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionFileProcessor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionFileProcessor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionFileProcessor.java
index 4537b0e..7fb36d3 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionFileProcessor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionFileProcessor.java
@@ -7,8 +7,8 @@ import com.opensymphony.xwork2.conversion.TypeConverter;
 import com.opensymphony.xwork2.conversion.TypeConverterCreator;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.util.ClassLoaderUtil;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.io.InputStream;
 import java.util.Map;
@@ -19,7 +19,7 @@ import java.util.Properties;
  */
 public class DefaultConversionFileProcessor implements ConversionFileProcessor 
{
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(DefaultConversionFileProcessor.class);
+    private static final Logger LOG = 
LogManager.getLogger(DefaultConversionFileProcessor.class);
 
     private FileManager fileManager;
     private TypeConverterCreator converterCreator;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionPropertiesProcessor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionPropertiesProcessor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionPropertiesProcessor.java
index 49c29bb..d251877 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionPropertiesProcessor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultConversionPropertiesProcessor.java
@@ -7,8 +7,8 @@ import com.opensymphony.xwork2.conversion.TypeConverterCreator;
 import com.opensymphony.xwork2.conversion.TypeConverterHolder;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.util.ClassLoaderUtil;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.io.IOException;
 import java.net.URL;
@@ -21,7 +21,7 @@ import java.util.Properties;
  */
 public class DefaultConversionPropertiesProcessor implements 
ConversionPropertiesProcessor {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(DefaultConversionPropertiesProcessor.class);
+    private static final Logger LOG = 
LogManager.getLogger(DefaultConversionPropertiesProcessor.class);
 
     private TypeConverterCreator converterCreator;
     private TypeConverterHolder converterHolder;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java
index c2c26cd..36c4613 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/DefaultObjectTypeDeterminer.java
@@ -21,8 +21,8 @@ import com.opensymphony.xwork2.util.CreateIfNull;
 import com.opensymphony.xwork2.util.Element;
 import com.opensymphony.xwork2.util.Key;
 import com.opensymphony.xwork2.util.KeyProperty;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import com.opensymphony.xwork2.util.reflection.ReflectionException;
 import com.opensymphony.xwork2.util.reflection.ReflectionProvider;
 
@@ -52,7 +52,7 @@ import java.util.Map;
  */
 public class DefaultObjectTypeDeterminer implements ObjectTypeDeterminer {
 
-    protected static final Logger LOG = 
LoggerFactory.getLogger(DefaultObjectTypeDeterminer.class);
+    protected static final Logger LOG = 
LogManager.getLogger(DefaultObjectTypeDeterminer.class);
 
     public static final String KEY_PREFIX = "Key_";
     public static final String ELEMENT_PREFIX = "Element_";

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/InstantiatingNullHandler.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/InstantiatingNullHandler.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/InstantiatingNullHandler.java
index 188e92d..da49d66 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/InstantiatingNullHandler.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/InstantiatingNullHandler.java
@@ -19,8 +19,8 @@ import com.opensymphony.xwork2.ObjectFactory;
 import com.opensymphony.xwork2.conversion.NullHandler;
 import com.opensymphony.xwork2.conversion.ObjectTypeDeterminer;
 import com.opensymphony.xwork2.inject.Inject;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
 import com.opensymphony.xwork2.util.reflection.ReflectionProvider;
 
@@ -72,7 +72,7 @@ public class InstantiatingNullHandler implements NullHandler {
      * @deprecated Use {@link ReflectionContextState#CREATE_NULL_OBJECTS} 
instead
      */
     @Deprecated public static final String CREATE_NULL_OBJECTS = 
ReflectionContextState.CREATE_NULL_OBJECTS;
-    private static final Logger LOG = 
LoggerFactory.getLogger(InstantiatingNullHandler.class);
+    private static final Logger LOG = 
LogManager.getLogger(InstantiatingNullHandler.class);
     private ReflectionProvider reflectionProvider;
     private ObjectFactory objectFactory;
     private ObjectTypeDeterminer objectTypeDeterminer;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
index a91ca1c..9599b95 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
@@ -33,8 +33,8 @@ import com.opensymphony.xwork2.util.ClassLoaderUtil;
 import com.opensymphony.xwork2.util.CompoundRoot;
 import com.opensymphony.xwork2.util.LocalizedTextUtil;
 import com.opensymphony.xwork2.util.ValueStack;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
 import org.apache.commons.lang3.StringUtils;
 
@@ -131,7 +131,7 @@ import java.util.regex.Pattern;
  */
 public class XWorkConverter extends DefaultTypeConverter {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(XWorkConverter.class);
+    private static final Logger LOG = 
LogManager.getLogger(XWorkConverter.class);
 
     public static final String REPORT_CONVERSION_ERRORS = 
"report.conversion.errors";
     public static final String CONVERSION_PROPERTY_FULLNAME = 
"conversion.property.fullName";

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/metadata/ConversionDescription.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/metadata/ConversionDescription.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/metadata/ConversionDescription.java
index 1234e2e..340dc84 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/metadata/ConversionDescription.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/metadata/ConversionDescription.java
@@ -17,8 +17,8 @@ package com.opensymphony.xwork2.conversion.metadata;
 
 import com.opensymphony.xwork2.conversion.annotations.ConversionRule;
 import com.opensymphony.xwork2.conversion.impl.DefaultObjectTypeDeterminer;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -55,7 +55,7 @@ public class ConversionDescription {
     public String type = null;
 
     public ConversionDescription() {
-        log = LoggerFactory.getLogger(this.getClass());
+        log = LogManager.getLogger(this.getClass());
     }
 
     /**
@@ -65,7 +65,7 @@ public class ConversionDescription {
      */
     public ConversionDescription(String property) {
         this.property = property;
-        log = LoggerFactory.getLogger(this.getClass());
+        log = LogManager.getLogger(this.getClass());
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/factory/DefaultConverterFactory.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/factory/DefaultConverterFactory.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/factory/DefaultConverterFactory.java
index 315d901..73596c8 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/factory/DefaultConverterFactory.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/factory/DefaultConverterFactory.java
@@ -3,8 +3,8 @@ package com.opensymphony.xwork2.factory;
 import com.opensymphony.xwork2.conversion.TypeConverter;
 import com.opensymphony.xwork2.inject.Container;
 import com.opensymphony.xwork2.inject.Inject;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.util.Map;
 
@@ -13,7 +13,7 @@ import java.util.Map;
  */
 public class DefaultConverterFactory implements ConverterFactory {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(DefaultConverterFactory.class);
+    private static final Logger LOG = 
LogManager.getLogger(DefaultConverterFactory.class);
 
     private Container container;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java
index a9f90f8..f05a75c 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java
@@ -27,8 +27,8 @@ import com.opensymphony.xwork2.util.ClearableValueStack;
 import com.opensymphony.xwork2.util.ValueStackFactory;
 import com.opensymphony.xwork2.util.LocalizedTextUtil;
 import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.util.Map;
 
@@ -88,7 +88,7 @@ import java.util.Map;
  */
 public class AliasInterceptor extends AbstractInterceptor {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(AliasInterceptor.class);
+    private static final Logger LOG = 
LogManager.getLogger(AliasInterceptor.class);
 
     private static final String DEFAULT_ALIAS_KEY = "aliases";
     protected String aliasesKey = DEFAULT_ALIAS_KEY;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java
index 36f8c2d..8218e1b 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ChainingInterceptor.java
@@ -22,8 +22,8 @@ import com.opensymphony.xwork2.Unchainable;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.util.CompoundRoot;
 import com.opensymphony.xwork2.util.ValueStack;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import com.opensymphony.xwork2.util.reflection.ReflectionProvider;
 
 import java.util.*;
@@ -100,7 +100,7 @@ import java.util.*;
  */
 public class ChainingInterceptor extends AbstractInterceptor {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(ChainingInterceptor.class);
+    private static final Logger LOG = 
LogManager.getLogger(ChainingInterceptor.class);
 
     private static final String ACTION_ERRORS = "actionErrors";
     private static final String FIELD_ERRORS = "fieldErrors";

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java
index 9391f1f..4d13f40 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/DefaultWorkflowInterceptor.java
@@ -19,8 +19,8 @@ import com.opensymphony.xwork2.Action;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.ValidationAware;
 import com.opensymphony.xwork2.interceptor.annotations.InputConfig;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.lang.reflect.Method;
 
@@ -121,7 +121,7 @@ public class DefaultWorkflowInterceptor extends 
MethodFilterInterceptor {
 
     private static final long serialVersionUID = 7563014655616490865L;
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(DefaultWorkflowInterceptor.class);
+    private static final Logger LOG = 
LogManager.getLogger(DefaultWorkflowInterceptor.class);
 
     private static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java
index fe79fb3..d1a5319 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ExceptionMappingInterceptor.java
@@ -17,8 +17,8 @@ package com.opensymphony.xwork2.interceptor;
 
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.config.entities.ExceptionMappingConfig;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.util.HashMap;
 import java.util.List;
@@ -149,7 +149,7 @@ import java.util.Map;
  */
 public class ExceptionMappingInterceptor extends AbstractInterceptor {
     
-    protected static final Logger LOG = 
LoggerFactory.getLogger(ExceptionMappingInterceptor.class);
+    protected static final Logger LOG = 
LogManager.getLogger(ExceptionMappingInterceptor.class);
 
     protected Logger categoryLogger;
     protected boolean logEnabled = false;
@@ -216,7 +216,7 @@ public class ExceptionMappingInterceptor extends 
AbstractInterceptor {
        if (logCategory != null) {
                if (categoryLogger == null) {
                        // init category logger
-                       categoryLogger = LoggerFactory.getLogger(logCategory);
+                       categoryLogger = LogManager.getLogger(logCategory);
                }
                doLog(categoryLogger, e);
        } else {

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java
index 3deb268..1d52c9c 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/I18nInterceptor.java
@@ -18,8 +18,8 @@ package com.opensymphony.xwork2.interceptor;
 
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.util.LocalizedTextUtil;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.util.Locale;
 import java.util.Map;
@@ -89,7 +89,7 @@ import java.util.Map;
 public class I18nInterceptor extends AbstractInterceptor {
     private static final long serialVersionUID = 2496830135246700300L;
 
-    protected static final Logger LOG = 
LoggerFactory.getLogger(I18nInterceptor.class);
+    protected static final Logger LOG = 
LogManager.getLogger(I18nInterceptor.class);
 
     public static final String DEFAULT_SESSION_ATTRIBUTE = 
"WW_TRANS_I18N_LOCALE";
     public static final String DEFAULT_PARAMETER = "request_locale";

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java
index a5aa1b2..2ec655e 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/LoggingInterceptor.java
@@ -16,8 +16,8 @@
 package com.opensymphony.xwork2.interceptor;
 
 import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 
 /**
@@ -57,7 +57,7 @@ import com.opensymphony.xwork2.util.logging.LoggerFactory;
  * @author Jason Carreira
  */
 public class LoggingInterceptor extends AbstractInterceptor {
-    private static final Logger LOG = 
LoggerFactory.getLogger(LoggingInterceptor.class);
+    private static final Logger LOG = 
LogManager.getLogger(LoggingInterceptor.class);
     private static final String FINISH_MESSAGE = "Finishing execution stack 
for action ";
     private static final String START_MESSAGE = "Starting execution stack for 
action ";
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
index fd44df8..0cdedb0 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/MethodFilterInterceptor.java
@@ -18,8 +18,8 @@ package com.opensymphony.xwork2.interceptor;
 
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.util.TextParseUtil;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.util.Collections;
 import java.util.Set;
@@ -71,7 +71,7 @@ import java.util.Set;
  * @version $Date$ $Id$
  */
 public abstract class MethodFilterInterceptor extends AbstractInterceptor {
-    protected transient Logger log = LoggerFactory.getLogger(getClass());
+    protected transient Logger log = LogManager.getLogger(getClass());
     
     protected Set<String> excludeMethods = Collections.emptySet();
     protected Set<String> includeMethods = Collections.emptySet();

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptor.java
index a3d73f8..1e4b036 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterFilterInterceptor.java
@@ -17,8 +17,8 @@ package com.opensymphony.xwork2.interceptor;
 
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.util.TextParseUtil;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.util.Collection;
 import java.util.HashSet;
@@ -95,7 +95,7 @@ import java.util.TreeMap;
  */
 public class ParameterFilterInterceptor extends AbstractInterceptor {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(ParameterFilterInterceptor.class);
+    private static final Logger LOG = 
LogManager.getLogger(ParameterFilterInterceptor.class);
 
     private Collection<String> allowed;
     private Collection<String> blocked;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterRemoverInterceptor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterRemoverInterceptor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterRemoverInterceptor.java
index f79e21a..523831c 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterRemoverInterceptor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParameterRemoverInterceptor.java
@@ -18,8 +18,8 @@ package com.opensymphony.xwork2.interceptor;
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.util.TextParseUtil;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.util.Collections;
 import java.util.Map;
@@ -79,7 +79,7 @@ import java.util.Set;
  */
 public class ParameterRemoverInterceptor extends AbstractInterceptor {
 
-       private static final Logger LOG = 
LoggerFactory.getLogger(ParameterRemoverInterceptor.class);
+       private static final Logger LOG = 
LogManager.getLogger(ParameterRemoverInterceptor.class);
 
        private static final long serialVersionUID = 1;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
index 8317feb..d2074ac 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
@@ -29,8 +29,8 @@ import com.opensymphony.xwork2.util.LocalizedTextUtil;
 import com.opensymphony.xwork2.util.MemberAccessValueStack;
 import com.opensymphony.xwork2.util.ValueStack;
 import com.opensymphony.xwork2.util.ValueStackFactory;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
 
 import java.util.Collection;
@@ -135,7 +135,7 @@ import java.util.TreeMap;
  */
 public class ParametersInterceptor extends MethodFilterInterceptor {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(ParametersInterceptor.class);
+    private static final Logger LOG = 
LogManager.getLogger(ParametersInterceptor.class);
 
     protected static final int PARAM_NAME_MAX_LENGTH = 100;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
index bf15eeb..aa1540b 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/PrefixMethodInvocationUtil.java
@@ -16,8 +16,8 @@
 package com.opensymphony.xwork2.interceptor;
 
 import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
@@ -63,7 +63,7 @@ import java.lang.reflect.Method;
  */
 public class PrefixMethodInvocationUtil {
        
-       private static final Logger LOG = 
LoggerFactory.getLogger(PrefixMethodInvocationUtil.class);
+       private static final Logger LOG = 
LogManager.getLogger(PrefixMethodInvocationUtil.class);
 
     private static final String DEFAULT_INVOCATION_METHODNAME = "execute";
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
index 4d0822f..6a327c3 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/PrepareInterceptor.java
@@ -18,8 +18,8 @@ package com.opensymphony.xwork2.interceptor;
 
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.Preparable;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.lang.reflect.InvocationTargetException;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
index 8639346..67e121c 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
@@ -24,8 +24,8 @@ import com.opensymphony.xwork2.config.entities.ActionConfig;
 import com.opensymphony.xwork2.config.entities.Parameterizable;
 import com.opensymphony.xwork2.util.*;
 import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.util.Collections;
 import java.util.Map;
@@ -87,7 +87,7 @@ public class StaticParametersInterceptor extends 
AbstractInterceptor {
 
     static boolean devMode = false;
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(StaticParametersInterceptor.class);
+    private static final Logger LOG = 
LogManager.getLogger(StaticParametersInterceptor.class);
 
     private ValueStackFactory valueStackFactory;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/TimerInterceptor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/TimerInterceptor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/TimerInterceptor.java
index ad53d80..a52c092 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/TimerInterceptor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/interceptor/TimerInterceptor.java
@@ -16,8 +16,8 @@
 package com.opensymphony.xwork2.interceptor;
 
 import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 /**
  * <!-- START SNIPPET: description -->
@@ -92,7 +92,7 @@ import com.opensymphony.xwork2.util.logging.LoggerFactory;
  * @author Claus Ibsen
  */
 public class TimerInterceptor extends AbstractInterceptor {
-    protected static final Logger LOG = 
LoggerFactory.getLogger(TimerInterceptor.class);
+    protected static final Logger LOG = 
LogManager.getLogger(TimerInterceptor.class);
 
     protected Logger categoryLogger;
     protected String logCategory;
@@ -175,7 +175,7 @@ public class TimerInterceptor extends AbstractInterceptor {
         if (logCategory != null) {
             if (categoryLogger == null) {
                 // init category logger
-                categoryLogger = LoggerFactory.getLogger(logCategory);
+                categoryLogger = LogManager.getLogger(logCategory);
                 if (logLevel == null) {
                     logLevel = "info"; // use info as default if not provided
                 }

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java
index 63c45fe..a67ede9 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java
@@ -23,8 +23,8 @@ import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor;
 import com.opensymphony.xwork2.util.CompoundRoot;
 import com.opensymphony.xwork2.util.TextParseUtil;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import com.opensymphony.xwork2.util.reflection.ReflectionException;
 import ognl.ClassResolver;
 import ognl.Ognl;
@@ -57,7 +57,7 @@ import java.util.regex.Pattern;
  */
 public class OgnlUtil {
 
-    private static final Logger LOG = LoggerFactory.getLogger(OgnlUtil.class);
+    private static final Logger LOG = LogManager.getLogger(OgnlUtil.class);
     private ConcurrentMap<String, Object> expressions = new 
ConcurrentHashMap<String, Object>();
     private final ConcurrentMap<Class, BeanInfo> beanInfoCache = new 
ConcurrentHashMap<Class, BeanInfo>();
     private TypeConverter defaultConverter;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java
index 1b09ef6..0f1c048 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java
@@ -27,8 +27,8 @@ import com.opensymphony.xwork2.util.ClearableValueStack;
 import com.opensymphony.xwork2.util.CompoundRoot;
 import com.opensymphony.xwork2.util.MemberAccessValueStack;
 import com.opensymphony.xwork2.util.ValueStack;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import com.opensymphony.xwork2.util.logging.LoggerUtils;
 import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
 import ognl.*;
@@ -55,7 +55,7 @@ public class OgnlValueStack implements Serializable, 
ValueStack, ClearableValueS
     private static final long serialVersionUID = 370737852934925530L;
 
     private static final String MAP_IDENTIFIER_KEY = 
"com.opensymphony.xwork2.util.OgnlValueStack.MAP_IDENTIFIER_KEY";
-    private static final Logger LOG = 
LoggerFactory.getLogger(OgnlValueStack.class);
+    private static final Logger LOG = 
LogManager.getLogger(OgnlValueStack.class);
 
     CompoundRoot root;
     transient Map<String, Object> context;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
index eb586e5..040077d 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java
@@ -15,8 +15,8 @@
  */
 package com.opensymphony.xwork2.ognl;
 
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import ognl.DefaultMemberAccess;
 
 import java.lang.reflect.Member;
@@ -33,7 +33,7 @@ import java.util.regex.Pattern;
  */
 public class SecurityMemberAccess extends DefaultMemberAccess {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(SecurityMemberAccess.class);
+    private static final Logger LOG = 
LogManager.getLogger(SecurityMemberAccess.class);
 
     private final boolean allowStaticMethodAccess;
     private Set<Pattern> excludeProperties = Collections.emptySet();

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/CompoundRootAccessor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/CompoundRootAccessor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/CompoundRootAccessor.java
index 27352b9..bad1fc0 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/CompoundRootAccessor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/CompoundRootAccessor.java
@@ -21,8 +21,8 @@ import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.ognl.OgnlValueStack;
 import com.opensymphony.xwork2.util.CompoundRoot;
 import com.opensymphony.xwork2.util.ValueStack;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import ognl.*;
 
 import java.beans.IntrospectionException;
@@ -56,7 +56,7 @@ public class CompoundRootAccessor implements 
PropertyAccessor, MethodAccessor, C
         return null;
     }
 
-    private final static Logger LOG = 
LoggerFactory.getLogger(CompoundRootAccessor.class);
+    private final static Logger LOG = 
LogManager.getLogger(CompoundRootAccessor.class);
     private final static Class[] EMPTY_CLASS_ARRAY = new Class[0];
     private static Map<MethodCall, Boolean> invalidMethods = new 
ConcurrentHashMap<MethodCall, Boolean>();
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkCollectionPropertyAccessor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkCollectionPropertyAccessor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkCollectionPropertyAccessor.java
index aed7949..a656634 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkCollectionPropertyAccessor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkCollectionPropertyAccessor.java
@@ -21,8 +21,8 @@ import 
com.opensymphony.xwork2.conversion.ObjectTypeDeterminer;
 import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.ognl.OgnlUtil;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
 
 import ognl.ObjectPropertyAccessor;
@@ -41,7 +41,7 @@ import java.util.Map;
  */
 public class XWorkCollectionPropertyAccessor extends SetPropertyAccessor {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(XWorkCollectionPropertyAccessor.class);
+    private static final Logger LOG = 
LogManager.getLogger(XWorkCollectionPropertyAccessor.class);
     private static final String CONTEXT_COLLECTION_MAP = 
"xworkCollectionPropertyAccessorContextSetMap";
 
     public static final String KEY_PROPERTY_FOR_CREATION = "makeNew";

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java
index 576ab3d..d752216 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkMapPropertyAccessor.java
@@ -20,8 +20,8 @@ import com.opensymphony.xwork2.ObjectFactory;
 import com.opensymphony.xwork2.conversion.ObjectTypeDeterminer;
 import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
 import com.opensymphony.xwork2.inject.Inject;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
 import ognl.MapPropertyAccessor;
 import ognl.OgnlException;
@@ -36,7 +36,7 @@ import java.util.Map;
  */
 public class XWorkMapPropertyAccessor extends MapPropertyAccessor {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(XWorkMapPropertyAccessor.class);
+    private static final Logger LOG = 
LogManager.getLogger(XWorkMapPropertyAccessor.class);
 
     private static final String[] INDEX_ACCESS_PROPS = new String[]
             {"size", "isEmpty", "keys", "values"};

Reply via email to