http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/core/src/test/java/org/apache/struts2/TestConfigurationProvider.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/struts2/TestConfigurationProvider.java 
b/core/src/test/java/org/apache/struts2/TestConfigurationProvider.java
index f9eb4c7..1806573 100644
--- a/core/src/test/java/org/apache/struts2/TestConfigurationProvider.java
+++ b/core/src/test/java/org/apache/struts2/TestConfigurationProvider.java
@@ -24,8 +24,6 @@ package org.apache.struts2;
 import com.opensymphony.xwork2.Action;
 import com.opensymphony.xwork2.ActionProxyFactory;
 import com.opensymphony.xwork2.DefaultActionProxyFactory;
-import com.opensymphony.xwork2.security.DefaultExcludedPatternsChecker;
-import com.opensymphony.xwork2.security.ExcludedPatternsChecker;
 import com.opensymphony.xwork2.ObjectFactory;
 import com.opensymphony.xwork2.config.Configuration;
 import com.opensymphony.xwork2.config.ConfigurationException;
@@ -37,6 +35,8 @@ import com.opensymphony.xwork2.config.entities.ResultConfig;
 import com.opensymphony.xwork2.inject.ContainerBuilder;
 import com.opensymphony.xwork2.interceptor.ParametersInterceptor;
 import com.opensymphony.xwork2.mock.MockResult;
+import com.opensymphony.xwork2.security.DefaultExcludedPatternsChecker;
+import com.opensymphony.xwork2.security.ExcludedPatternsChecker;
 import com.opensymphony.xwork2.util.location.LocatableProperties;
 import com.opensymphony.xwork2.validator.ValidationInterceptor;
 import org.apache.struts2.dispatcher.ServletDispatcherResult;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/core/src/test/java/org/apache/struts2/TestResult.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/TestResult.java 
b/core/src/test/java/org/apache/struts2/TestResult.java
index a1c7774..5927f79 100644
--- a/core/src/test/java/org/apache/struts2/TestResult.java
+++ b/core/src/test/java/org/apache/struts2/TestResult.java
@@ -21,17 +21,16 @@
 
 package org.apache.struts2;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.Assert;
-
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.Result;
 import com.opensymphony.xwork2.util.ValueStack;
-import com.opensymphony.xwork2.util.logging.Logger;
-import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import junit.framework.Assert;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.util.ArrayList;
+import java.util.List;
 
 
 /**
@@ -43,7 +42,7 @@ public class TestResult implements Result {
     private static final long serialVersionUID = -4429258122011663164L;
 
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(TestResult.class);
+    private static final Logger LOG = LogManager.getLogger(TestResult.class);
 
 
     private List expectedValues = new ArrayList();

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/core/src/test/java/org/apache/struts2/views/jsp/AbstractUITagTest.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/struts2/views/jsp/AbstractUITagTest.java 
b/core/src/test/java/org/apache/struts2/views/jsp/AbstractUITagTest.java
index de8a0bd..106ba5f 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/AbstractUITagTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/AbstractUITagTest.java
@@ -22,8 +22,8 @@
 package org.apache.struts2.views.jsp;
 
 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.beanutils.BeanUtils;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.views.jsp.ui.AbstractUITag;
@@ -38,7 +38,7 @@ import java.util.*;
  */
 public abstract class AbstractUITagTest extends AbstractTagTest {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(AbstractUITagTest.class);
+    private static final Logger LOG = 
LogManager.getLogger(AbstractUITagTest.class);
 
     static final String FREEMARKER_ERROR_EXPECTATION = "Java backtrace for 
programmers:";
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/cdi/src/main/java/org/apache/struts2/cdi/CdiObjectFactory.java
----------------------------------------------------------------------
diff --git 
a/plugins/cdi/src/main/java/org/apache/struts2/cdi/CdiObjectFactory.java 
b/plugins/cdi/src/main/java/org/apache/struts2/cdi/CdiObjectFactory.java
index 13ae6be..08a5ffa 100644
--- a/plugins/cdi/src/main/java/org/apache/struts2/cdi/CdiObjectFactory.java
+++ b/plugins/cdi/src/main/java/org/apache/struts2/cdi/CdiObjectFactory.java
@@ -21,8 +21,8 @@ package org.apache.struts2.cdi;
 
 import com.opensymphony.xwork2.ObjectFactory;
 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 javax.enterprise.context.spi.CreationalContext;
 import javax.enterprise.inject.spi.BeanManager;
@@ -46,7 +46,7 @@ import java.util.concurrent.ConcurrentHashMap;
  */
 public class CdiObjectFactory extends ObjectFactory {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(CdiObjectFactory.class);
+    private static final Logger LOG = 
LogManager.getLogger(CdiObjectFactory.class);
 
     /**
      * The key under which the BeanManager can be found according to CDI API 
docs

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowConfigAction.java
----------------------------------------------------------------------
diff --git 
a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowConfigAction.java
 
b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowConfigAction.java
index faecb86..9fd0cb1 100644
--- 
a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowConfigAction.java
+++ 
b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowConfigAction.java
@@ -25,8 +25,8 @@ package org.apache.struts2.config_browser;
 import com.opensymphony.xwork2.ObjectFactory;
 import com.opensymphony.xwork2.config.entities.ActionConfig;
 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.ReflectionProvider;
 import org.apache.commons.lang3.StringEscapeUtils;
 
@@ -47,7 +47,7 @@ public class ShowConfigAction extends ActionNamesAction {
     private Set<String> actionNames;
     private String detailView = "results";
     private PropertyDescriptor[] properties;
-    private static Logger LOG = 
LoggerFactory.getLogger(ShowConfigAction.class);
+    private static Logger LOG = LogManager.getLogger(ShowConfigAction.class);
     
     private ObjectFactory objectFactory;
     private ReflectionProvider reflectionProvider;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowValidatorAction.java
----------------------------------------------------------------------
diff --git 
a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowValidatorAction.java
 
b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowValidatorAction.java
index 3453b90..90ea243 100644
--- 
a/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowValidatorAction.java
+++ 
b/plugins/config-browser/src/main/java/org/apache/struts2/config_browser/ShowValidatorAction.java
@@ -22,8 +22,8 @@
 package org.apache.struts2.config_browser;
 
 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.ReflectionContextFactory;
 import com.opensymphony.xwork2.util.reflection.ReflectionException;
 import com.opensymphony.xwork2.util.reflection.ReflectionProvider;
@@ -45,7 +45,7 @@ import java.util.TreeSet;
 public class ShowValidatorAction extends ListValidatorsAction {
     private static final long serialVersionUID = 4061534149317835177L;
 
-    private static Logger LOG = 
LoggerFactory.getLogger(ShowValidatorAction.class);
+    private static Logger LOG = 
LogManager.getLogger(ShowValidatorAction.class);
 
     private Set<PropertyInfo> properties = Collections.emptySet();
     private int selected = 0;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/convention/src/main/java/org/apache/struts2/convention/ConventionUnknownHandler.java
----------------------------------------------------------------------
diff --git 
a/plugins/convention/src/main/java/org/apache/struts2/convention/ConventionUnknownHandler.java
 
b/plugins/convention/src/main/java/org/apache/struts2/convention/ConventionUnknownHandler.java
index ed70858..429d25b 100644
--- 
a/plugins/convention/src/main/java/org/apache/struts2/convention/ConventionUnknownHandler.java
+++ 
b/plugins/convention/src/main/java/org/apache/struts2/convention/ConventionUnknownHandler.java
@@ -38,8 +38,8 @@ import 
com.opensymphony.xwork2.config.providers.InterceptorBuilder;
 import com.opensymphony.xwork2.inject.Container;
 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 javax.servlet.ServletContext;
 import java.net.MalformedURLException;
@@ -67,7 +67,7 @@ import java.util.Map;
  */
 public class ConventionUnknownHandler implements UnknownHandler {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(ConventionUnknownHandler.class);
+    private static final Logger LOG = 
LogManager.getLogger(ConventionUnknownHandler.class);
 
     protected Configuration configuration;
     protected ObjectFactory objectFactory;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java
----------------------------------------------------------------------
diff --git 
a/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java
 
b/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java
index da7ad20..a678544 100644
--- 
a/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java
+++ 
b/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultInterceptorMapBuilder.java
@@ -27,8 +27,8 @@ import com.opensymphony.xwork2.config.entities.PackageConfig;
 import com.opensymphony.xwork2.config.providers.InterceptorBuilder;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.util.AnnotationUtils;
-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.convention.annotation.Action;
 import org.apache.struts2.convention.annotation.InterceptorRef;
 import org.apache.struts2.convention.annotation.InterceptorRefs;
@@ -43,8 +43,8 @@ import java.util.Map;
  * </p>
  */
 public class DefaultInterceptorMapBuilder implements InterceptorMapBuilder {
-       private static final Logger LOG = LoggerFactory
-                       .getLogger(DefaultInterceptorMapBuilder.class);
+
+       private static final Logger LOG = 
LogManager.getLogger(DefaultInterceptorMapBuilder.class);
 
        private Configuration configuration;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java
----------------------------------------------------------------------
diff --git 
a/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java
 
b/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java
index a9f44bd..0847bc7 100644
--- 
a/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java
+++ 
b/plugins/convention/src/main/java/org/apache/struts2/convention/DefaultResultMapBuilder.java
@@ -32,8 +32,8 @@ import 
com.opensymphony.xwork2.util.finder.ClassLoaderInterface;
 import com.opensymphony.xwork2.util.finder.ClassLoaderInterfaceDelegate;
 import com.opensymphony.xwork2.util.finder.ResourceFinder;
 import com.opensymphony.xwork2.util.finder.Test;
-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.commons.lang3.StringUtils;
 import org.apache.struts2.convention.annotation.Result;
@@ -117,7 +117,7 @@ import java.util.Set;
  * </table>
  */
 public class DefaultResultMapBuilder implements ResultMapBuilder {
-    private static final Logger LOG = 
LoggerFactory.getLogger(DefaultResultMapBuilder.class);
+    private static final Logger LOG = 
LogManager.getLogger(DefaultResultMapBuilder.class);
     private final ServletContext servletContext;
     private Set<String> relativeResultTypes;
     private ConventionsService conventionsService;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
----------------------------------------------------------------------
diff --git 
a/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
 
b/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
index d1ad0c0..ee6516f 100644
--- 
a/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
+++ 
b/plugins/convention/src/main/java/org/apache/struts2/convention/PackageBasedActionConfigBuilder.java
@@ -44,8 +44,8 @@ import 
com.opensymphony.xwork2.util.finder.ClassLoaderInterface;
 import com.opensymphony.xwork2.util.finder.ClassLoaderInterfaceDelegate;
 import com.opensymphony.xwork2.util.finder.Test;
 import com.opensymphony.xwork2.util.finder.UrlSet;
-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.commons.lang3.StringUtils;
 import org.apache.struts2.StrutsConstants;
@@ -81,7 +81,7 @@ import java.util.regex.Pattern;
  */
 public class PackageBasedActionConfigBuilder implements ActionConfigBuilder {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(PackageBasedActionConfigBuilder.class);
+    private static final Logger LOG = 
LogManager.getLogger(PackageBasedActionConfigBuilder.class);
     private static final boolean EXTRACT_BASE_INTERFACES = true;
 
     private final Configuration configuration;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java
----------------------------------------------------------------------
diff --git 
a/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java
 
b/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java
index d9c90af..84420d7 100644
--- 
a/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java
+++ 
b/plugins/convention/src/main/java/org/apache/struts2/convention/SEOActionNameBuilder.java
@@ -21,8 +21,8 @@
 package org.apache.struts2.convention;
 
 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.commons.lang3.StringUtils;
 
 /**
@@ -34,7 +34,7 @@ import org.apache.commons.lang3.StringUtils;
  * </p>
  */
 public class SEOActionNameBuilder implements ActionNameBuilder {
-    private static final Logger LOG = 
LoggerFactory.getLogger(SEOActionNameBuilder.class);
+    private static final Logger LOG = 
LogManager.getLogger(SEOActionNameBuilder.class);
     private String actionSuffix = "Action";
     private boolean lowerCase;
     private String separator;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/dwr/src/main/java/org/apache/struts2/validators/DWRValidator.java
----------------------------------------------------------------------
diff --git 
a/plugins/dwr/src/main/java/org/apache/struts2/validators/DWRValidator.java 
b/plugins/dwr/src/main/java/org/apache/struts2/validators/DWRValidator.java
index 9d6f750..3375cf6 100644
--- a/plugins/dwr/src/main/java/org/apache/struts2/validators/DWRValidator.java
+++ b/plugins/dwr/src/main/java/org/apache/struts2/validators/DWRValidator.java
@@ -42,8 +42,8 @@ import com.opensymphony.xwork2.DefaultActionInvocation;
 import com.opensymphony.xwork2.ValidationAware;
 import com.opensymphony.xwork2.ValidationAwareSupport;
 import com.opensymphony.xwork2.config.entities.ActionConfig;
-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;
 
 /**
  * <p/>
@@ -64,7 +64,7 @@ import com.opensymphony.xwork2.util.logging.LoggerFactory;
  */
 public class DWRValidator {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(DWRValidator.class);
+    private static final Logger LOG = LogManager.getLogger(DWRValidator.class);
 
     public ValidationAwareSupport doPost(String namespace, String actionName, 
Map params) throws Exception {
         HttpServletRequest req = 
WebContextFactory.get().getHttpServletRequest();

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java
----------------------------------------------------------------------
diff --git 
a/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java 
b/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java
index d738500..127d173 100644
--- a/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java
+++ b/plugins/embeddedjsp/src/main/java/org/apache/struts2/JSPLoader.java
@@ -25,8 +25,8 @@ import com.opensymphony.xwork2.FileManagerFactory;
 import com.opensymphony.xwork2.util.finder.ClassLoaderInterface;
 import com.opensymphony.xwork2.util.finder.ClassLoaderInterfaceDelegate;
 import com.opensymphony.xwork2.util.finder.UrlSet;
-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.io.FileUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -70,7 +70,7 @@ import java.util.regex.Pattern;
  * directories.
  */
 public class JSPLoader {
-    private static final Logger LOG = LoggerFactory.getLogger(JSPLoader.class);
+    private static final Logger LOG = LogManager.getLogger(JSPLoader.class);
 
     private static MemoryClassLoader classLoader = new MemoryClassLoader();
     private static final String DEFAULT_PACKAGE = "org.apache.struts2.jsp";

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java
----------------------------------------------------------------------
diff --git 
a/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java
 
b/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java
index 8c0c901..f5794f8 100644
--- 
a/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java
+++ 
b/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/JasperReportsResult.java
@@ -23,8 +23,8 @@ package org.apache.struts2.views.jasperreports;
 
 import com.opensymphony.xwork2.ActionInvocation;
 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 net.sf.jasperreports.engine.JRException;
 import net.sf.jasperreports.engine.JRExporter;
 import net.sf.jasperreports.engine.JRExporterParameter;
@@ -135,7 +135,7 @@ public class JasperReportsResult extends 
StrutsResultSupport implements JasperRe
 
     private static final long serialVersionUID = -2523174799621182907L;
 
-    private final static Logger LOG = 
LoggerFactory.getLogger(JasperReportsResult.class);
+    private final static Logger LOG = 
LogManager.getLogger(JasperReportsResult.class);
 
     protected String dataSource;
     protected String format;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/ValueStackDataSource.java
----------------------------------------------------------------------
diff --git 
a/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/ValueStackDataSource.java
 
b/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/ValueStackDataSource.java
index 6ca1a4a..7fc8e16 100644
--- 
a/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/ValueStackDataSource.java
+++ 
b/plugins/jasperreports/src/main/java/org/apache/struts2/views/jasperreports/ValueStackDataSource.java
@@ -22,8 +22,8 @@
 package org.apache.struts2.views.jasperreports;
 
 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 net.sf.jasperreports.engine.JRException;
 import net.sf.jasperreports.engine.JRField;
 import net.sf.jasperreports.engine.JRRewindableDataSource;
@@ -39,7 +39,7 @@ public class ValueStackDataSource implements 
JRRewindableDataSource {
     /**
      * Logger for this class
      */
-    private static Logger LOG = 
LoggerFactory.getLogger(ValueStackDataSource.class);
+    private static Logger LOG = 
LogManager.getLogger(ValueStackDataSource.class);
 
     private Iterator iterator;
     private ValueStack valueStack;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/java8-support/src/main/java/org/apache/struts2/convention/Java8ClassFinder.java
----------------------------------------------------------------------
diff --git 
a/plugins/java8-support/src/main/java/org/apache/struts2/convention/Java8ClassFinder.java
 
b/plugins/java8-support/src/main/java/org/apache/struts2/convention/Java8ClassFinder.java
index 2d49e18..6bd3035 100644
--- 
a/plugins/java8-support/src/main/java/org/apache/struts2/convention/Java8ClassFinder.java
+++ 
b/plugins/java8-support/src/main/java/org/apache/struts2/convention/Java8ClassFinder.java
@@ -22,8 +22,8 @@ import com.opensymphony.xwork2.XWorkException;
 import com.opensymphony.xwork2.util.finder.ClassFinder;
 import com.opensymphony.xwork2.util.finder.ClassLoaderInterface;
 import com.opensymphony.xwork2.util.finder.Test;
-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.StringUtils;
 import org.objectweb.asm.AnnotationVisitor;
 import org.objectweb.asm.ClassReader;
@@ -60,7 +60,7 @@ import java.util.jar.JarInputStream;
  */
 public class Java8ClassFinder implements ClassFinder {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(Java8ClassFinder.class);
+    private static final Logger LOG = 
LogManager.getLogger(Java8ClassFinder.class);
 
     private final Map<String, List<Info>> annotated = new HashMap<String, 
List<Info>>();
     private final Map<String, ClassInfo> classInfos = new 
LinkedHashMap<String, ClassInfo>();

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/java8-support/src/main/java/org/apache/struts2/convention/Java8ClassFinderFactory.java
----------------------------------------------------------------------
diff --git 
a/plugins/java8-support/src/main/java/org/apache/struts2/convention/Java8ClassFinderFactory.java
 
b/plugins/java8-support/src/main/java/org/apache/struts2/convention/Java8ClassFinderFactory.java
index 3ab5f9e..1d3feab 100644
--- 
a/plugins/java8-support/src/main/java/org/apache/struts2/convention/Java8ClassFinderFactory.java
+++ 
b/plugins/java8-support/src/main/java/org/apache/struts2/convention/Java8ClassFinderFactory.java
@@ -19,8 +19,8 @@ import com.opensymphony.xwork2.util.finder.ClassFinder;
 import com.opensymphony.xwork2.util.finder.ClassFinderFactory;
 import com.opensymphony.xwork2.util.finder.ClassLoaderInterface;
 import com.opensymphony.xwork2.util.finder.Test;
-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.net.URL;
 import java.util.Collection;
@@ -28,7 +28,7 @@ import java.util.Set;
 
 public class Java8ClassFinderFactory implements ClassFinderFactory {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(Java8ClassFinderFactory.class);
+    private static final Logger LOG = 
LogManager.getLogger(Java8ClassFinderFactory.class);
 
     public Java8ClassFinderFactory() {
         try {

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/DefaultTagHandlerFactory.java
----------------------------------------------------------------------
diff --git 
a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/DefaultTagHandlerFactory.java
 
b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/DefaultTagHandlerFactory.java
index 7e932aa..b31b9be 100644
--- 
a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/DefaultTagHandlerFactory.java
+++ 
b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/DefaultTagHandlerFactory.java
@@ -20,14 +20,14 @@
  */
 package org.apache.struts2.views.java;
 
-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;
 
 /**
  * Default implementation of TagHandlerFactory 
  */
 public class DefaultTagHandlerFactory implements TagHandlerFactory {
-   private static final Logger LOG = 
LoggerFactory.getLogger(DefaultTagHandlerFactory.class);
+   private static final Logger LOG = 
LogManager.getLogger(DefaultTagHandlerFactory.class);
           
     private Class tagHandlerClass;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/DefaultTheme.java
----------------------------------------------------------------------
diff --git 
a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/DefaultTheme.java
 
b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/DefaultTheme.java
index 8a9db25..1e3076a 100644
--- 
a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/DefaultTheme.java
+++ 
b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/DefaultTheme.java
@@ -29,14 +29,14 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-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;
 
 /**
  * Default implementation of the theme
  */
 public class DefaultTheme implements Theme {
-    private static final Logger LOG = 
LoggerFactory.getLogger(DefaultTheme.class);
+    private static final Logger LOG = LogManager.getLogger(DefaultTheme.class);
 
     private String name;
     protected Map<String, List<TagHandlerFactory>> handlerFactories;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/JavaTemplateEngine.java
----------------------------------------------------------------------
diff --git 
a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/JavaTemplateEngine.java
 
b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/JavaTemplateEngine.java
index f3dd5a1..26a7ea3 100644
--- 
a/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/JavaTemplateEngine.java
+++ 
b/plugins/javatemplates/src/main/java/org/apache/struts2/views/java/JavaTemplateEngine.java
@@ -24,8 +24,8 @@ import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ObjectFactory;
 import com.opensymphony.xwork2.config.ConfigurationException;
 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.StrutsException;
 import org.apache.struts2.components.template.BaseTemplateEngine;
 import org.apache.struts2.components.template.Template;
@@ -42,7 +42,7 @@ import java.util.StringTokenizer;
  */
 public class JavaTemplateEngine extends BaseTemplateEngine {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(JavaTemplateEngine.class);
+    private static final Logger LOG = 
LogManager.getLogger(JavaTemplateEngine.class);
 
     // The struts template engine manager
     protected TemplateEngineManager templateEngineManager;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/jfreechart/src/main/java/org/apache/struts2/dispatcher/ChartResult.java
----------------------------------------------------------------------
diff --git 
a/plugins/jfreechart/src/main/java/org/apache/struts2/dispatcher/ChartResult.java
 
b/plugins/jfreechart/src/main/java/org/apache/struts2/dispatcher/ChartResult.java
index 26cea0f..76c2936 100644
--- 
a/plugins/jfreechart/src/main/java/org/apache/struts2/dispatcher/ChartResult.java
+++ 
b/plugins/jfreechart/src/main/java/org/apache/struts2/dispatcher/ChartResult.java
@@ -23,8 +23,8 @@ package org.apache.struts2.dispatcher;
 
 import org.apache.struts2.ServletActionContext;
 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 org.jfree.chart.ChartUtilities;
 import org.jfree.chart.JFreeChart;
 
@@ -102,7 +102,7 @@ import javax.servlet.http.HttpServletResponse;
  */
 public class ChartResult extends StrutsResultSupport {
 
-    private final static Logger LOG = 
LoggerFactory.getLogger(ChartResult.class);
+    private final static Logger LOG = LogManager.getLogger(ChartResult.class);
 
     private static final long serialVersionUID = -6484761870055986612L;
     private static final String DEFAULT_TYPE = "png";

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/json/src/main/java/org/apache/struts2/json/JSONCleaner.java
----------------------------------------------------------------------
diff --git 
a/plugins/json/src/main/java/org/apache/struts2/json/JSONCleaner.java 
b/plugins/json/src/main/java/org/apache/struts2/json/JSONCleaner.java
index bb87c2f..8a8d0a7 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONCleaner.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONCleaner.java
@@ -32,8 +32,8 @@ import java.util.regex.Matcher;
 
 import com.opensymphony.xwork2.util.TextParseUtil;
 import com.opensymphony.xwork2.util.WildcardUtil;
-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;
 
 /**
  * <p>Isolate the process of cleaning JSON data from the Interceptor class
@@ -47,7 +47,7 @@ import com.opensymphony.xwork2.util.logging.LoggerFactory;
  */
 public abstract class JSONCleaner {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(JSONCleaner.class);
+    private static final Logger LOG = LogManager.getLogger(JSONCleaner.class);
 
     public static class Filter
     {

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/json/src/main/java/org/apache/struts2/json/JSONInterceptor.java
----------------------------------------------------------------------
diff --git 
a/plugins/json/src/main/java/org/apache/struts2/json/JSONInterceptor.java 
b/plugins/json/src/main/java/org/apache/struts2/json/JSONInterceptor.java
index f802af9..227d66a 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONInterceptor.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONInterceptor.java
@@ -48,15 +48,15 @@ import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
 import com.opensymphony.xwork2.util.ValueStack;
 import com.opensymphony.xwork2.util.WildcardUtil;
-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;
 
 /**
  * Populates an action from a JSON string
  */
 public class JSONInterceptor extends AbstractInterceptor {
     private static final long serialVersionUID = 4950170304212158803L;
-    private static final Logger LOG = 
LoggerFactory.getLogger(JSONInterceptor.class);
+    private static final Logger LOG = 
LogManager.getLogger(JSONInterceptor.class);
     private boolean enableSMD = false;
     private boolean enableGZIP = false;
     private boolean wrapWithComments;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/json/src/main/java/org/apache/struts2/json/JSONPopulator.java
----------------------------------------------------------------------
diff --git 
a/plugins/json/src/main/java/org/apache/struts2/json/JSONPopulator.java 
b/plugins/json/src/main/java/org/apache/struts2/json/JSONPopulator.java
index 6d03bdc..a0b1f8b 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONPopulator.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONPopulator.java
@@ -48,8 +48,8 @@ import java.util.Set;
 
 import org.apache.struts2.json.annotations.JSON;
 
-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;
 
 /**
  * Isolate the process of populating JSON objects from the Interceptor class
@@ -57,7 +57,7 @@ import com.opensymphony.xwork2.util.logging.LoggerFactory;
  */
 public class JSONPopulator {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(JSONPopulator.class);
+    private static final Logger LOG = 
LogManager.getLogger(JSONPopulator.class);
 
     private String dateFormat = JSONUtil.RFC3339_FORMAT;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java 
b/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java
index 59f28fd..32025a8 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONResult.java
@@ -26,8 +26,8 @@ import com.opensymphony.xwork2.Result;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.util.ValueStack;
 import com.opensymphony.xwork2.util.WildcardUtil;
-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.struts2.StrutsStatics;
 import org.apache.struts2.json.smd.SMDGenerator;
@@ -63,7 +63,7 @@ public class JSONResult implements Result {
 
     private static final long serialVersionUID = 8624350183189931165L;
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(JSONResult.class);
+    private static final Logger LOG = LogManager.getLogger(JSONResult.class);
 
     /**
      * This result type doesn't have a default param, null is ok to reduce 
noise in logs

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java 
b/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
index f8f86dd..993de80 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONUtil.java
@@ -22,8 +22,8 @@ package org.apache.struts2.json;
 
 import com.opensymphony.xwork2.util.TextParseUtil;
 import com.opensymphony.xwork2.util.WildcardUtil;
-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.StringUtils;
 import org.apache.struts2.json.annotations.SMDMethod;
 
@@ -42,7 +42,7 @@ public class JSONUtil {
 
     public final static String RFC3339_FORMAT = "yyyy-MM-dd'T'HH:mm:ss";
 
-    private static final Logger LOG = LoggerFactory.getLogger(JSONUtil.class);
+    private static final Logger LOG = LogManager.getLogger(JSONUtil.class);
 
     /**
      * Serializes an object into JSON.

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/json/src/main/java/org/apache/struts2/json/JSONValidationInterceptor.java
----------------------------------------------------------------------
diff --git 
a/plugins/json/src/main/java/org/apache/struts2/json/JSONValidationInterceptor.java
 
b/plugins/json/src/main/java/org/apache/struts2/json/JSONValidationInterceptor.java
index 8194205..d94adc1 100644
--- 
a/plugins/json/src/main/java/org/apache/struts2/json/JSONValidationInterceptor.java
+++ 
b/plugins/json/src/main/java/org/apache/struts2/json/JSONValidationInterceptor.java
@@ -26,8 +26,8 @@ import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.ModelDriven;
 import com.opensymphony.xwork2.ValidationAware;
 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.commons.lang3.StringEscapeUtils;
 import org.apache.struts2.ServletActionContext;
 
@@ -70,7 +70,7 @@ import java.util.Map;
  */
 public class JSONValidationInterceptor extends MethodFilterInterceptor {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(JSONValidationInterceptor.class);
+    private static final Logger LOG = 
LogManager.getLogger(JSONValidationInterceptor.class);
 
     private static final String VALIDATE_ONLY_PARAM = "struts.validateOnly";
     private static final String VALIDATE_JSON_PARAM = 
"struts.enableJSONValidation";

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java
----------------------------------------------------------------------
diff --git a/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java 
b/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java
index dc53967..39529d2 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/JSONWriter.java
@@ -20,8 +20,8 @@
  */
 package org.apache.struts2.json;
 
-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.json.annotations.JSON;
 import org.apache.struts2.json.annotations.JSONFieldBridge;
 import org.apache.struts2.json.annotations.JSONParameter;
@@ -51,7 +51,7 @@ import java.util.regex.Pattern;
  */
 public class JSONWriter {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(JSONWriter.class);
+    private static final Logger LOG = LogManager.getLogger(JSONWriter.class);
 
     /**
      * By default, enums are serialised as name=value pairs

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/json/src/main/java/org/apache/struts2/json/rpc/RPCError.java
----------------------------------------------------------------------
diff --git 
a/plugins/json/src/main/java/org/apache/struts2/json/rpc/RPCError.java 
b/plugins/json/src/main/java/org/apache/struts2/json/rpc/RPCError.java
index c9a66ce..528fc70 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/rpc/RPCError.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/rpc/RPCError.java
@@ -23,14 +23,14 @@ package org.apache.struts2.json.rpc;
 import java.io.PrintWriter;
 import java.io.StringWriter;
 
-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;
 
 /*
  * Used to serialize RPC Errors
  */
 public class RPCError {
-    private static final Logger LOG = LoggerFactory.getLogger(RPCError.class);
+    private static final Logger LOG = LogManager.getLogger(RPCError.class);
 
     private int code;
     private String name;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/json/src/main/java/org/apache/struts2/json/smd/SMDGenerator.java
----------------------------------------------------------------------
diff --git 
a/plugins/json/src/main/java/org/apache/struts2/json/smd/SMDGenerator.java 
b/plugins/json/src/main/java/org/apache/struts2/json/smd/SMDGenerator.java
index d4479b9..decf22b 100644
--- a/plugins/json/src/main/java/org/apache/struts2/json/smd/SMDGenerator.java
+++ b/plugins/json/src/main/java/org/apache/struts2/json/smd/SMDGenerator.java
@@ -2,8 +2,8 @@ package org.apache.struts2.json.smd;
 
 import com.opensymphony.xwork2.ActionContext;
 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 org.apache.struts2.StrutsStatics;
 import org.apache.struts2.json.JSONUtil;
 import org.apache.struts2.json.annotations.SMD;
@@ -18,7 +18,7 @@ import java.util.regex.Pattern;
 
 public class SMDGenerator {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(SMDGenerator.class);
+    private static final Logger LOG = LogManager.getLogger(SMDGenerator.class);
 
     // rootObject is based on OGNL expression (action by default)
     private Object rootObject;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java
----------------------------------------------------------------------
diff --git 
a/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java 
b/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java
index 7bf18b7..46d2e99 100644
--- a/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java
+++ b/plugins/junit/src/main/java/org/apache/struts2/StrutsJUnit4TestCase.java
@@ -30,6 +30,7 @@ import com.opensymphony.xwork2.config.Configuration;
 import com.opensymphony.xwork2.interceptor.annotations.After;
 import com.opensymphony.xwork2.interceptor.annotations.Before;
 import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
 import com.opensymphony.xwork2.util.logging.jdk.JdkLoggerFactory;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.struts2.dispatcher.Dispatcher;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/junit/src/main/java/org/apache/struts2/StrutsTestCase.java
----------------------------------------------------------------------
diff --git a/plugins/junit/src/main/java/org/apache/struts2/StrutsTestCase.java 
b/plugins/junit/src/main/java/org/apache/struts2/StrutsTestCase.java
index de6f477..add0df0 100644
--- a/plugins/junit/src/main/java/org/apache/struts2/StrutsTestCase.java
+++ b/plugins/junit/src/main/java/org/apache/struts2/StrutsTestCase.java
@@ -27,6 +27,7 @@ import com.opensymphony.xwork2.ActionProxyFactory;
 import com.opensymphony.xwork2.XWorkTestCase;
 import com.opensymphony.xwork2.config.Configuration;
 import com.opensymphony.xwork2.util.logging.LoggerFactory;
+import org.apache.logging.log4j.LogManager;
 import com.opensymphony.xwork2.util.logging.jdk.JdkLoggerFactory;
 import org.apache.struts2.dispatcher.Dispatcher;
 import org.apache.struts2.dispatcher.mapper.ActionMapper;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/junit/src/test/java/actions/ViewAction.java
----------------------------------------------------------------------
diff --git a/plugins/junit/src/test/java/actions/ViewAction.java 
b/plugins/junit/src/test/java/actions/ViewAction.java
index 4c1141b..a90da9e 100644
--- a/plugins/junit/src/test/java/actions/ViewAction.java
+++ b/plugins/junit/src/test/java/actions/ViewAction.java
@@ -21,8 +21,6 @@
 package actions;
 
 import com.opensymphony.xwork2.ActionSupport;
-import org.apache.struts2.convention.annotation.Action;
-import org.apache.struts2.convention.annotation.Result;
 
 /**
  * Example action, which is called by the convention plugin test case

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundleFreemarkerManager.java
----------------------------------------------------------------------
diff --git 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundleFreemarkerManager.java
 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundleFreemarkerManager.java
index 3282ba5..ceddb91 100644
--- 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundleFreemarkerManager.java
+++ 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundleFreemarkerManager.java
@@ -21,8 +21,8 @@
 
 package org.apache.struts2.osgi;
 
-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 freemarker.cache.ClassTemplateLoader;
 import freemarker.cache.FileTemplateLoader;
 import freemarker.cache.MultiTemplateLoader;
@@ -43,7 +43,7 @@ import java.net.URI;
  */
 public class BundleFreemarkerManager extends FreemarkerManager {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(BundleFreemarkerManager.class);
+    private static final Logger LOG = 
LogManager.getLogger(BundleFreemarkerManager.class);
 
     protected TemplateLoader createTemplateLoader(ServletContext 
servletContext, String templatePath) {
         TemplateLoader templatePathLoader = null;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundlePackageLoader.java
----------------------------------------------------------------------
diff --git 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundlePackageLoader.java 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundlePackageLoader.java
index 1a01414..7e3add7 100644
--- 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundlePackageLoader.java
+++ 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/BundlePackageLoader.java
@@ -28,8 +28,8 @@ import com.opensymphony.xwork2.config.ConfigurationException;
 import com.opensymphony.xwork2.config.entities.PackageConfig;
 import com.opensymphony.xwork2.config.impl.DefaultConfiguration;
 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 org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 
@@ -46,7 +46,7 @@ import java.util.Map;
  */
 public class BundlePackageLoader implements PackageLoader {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(BundlePackageLoader.class);
+    private static final Logger LOG = 
LogManager.getLogger(BundlePackageLoader.class);
 
     public List<PackageConfig> loadPackages(Bundle bundle, BundleContext 
bundleContext, ObjectFactory objectFactory,
                                             FileManagerFactory 
fileManagerFactory, Map<String, PackageConfig> pkgConfigs) throws 
ConfigurationException {

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/osgi/src/main/java/org/apache/struts2/osgi/DefaultBundleAccessor.java
----------------------------------------------------------------------
diff --git 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/DefaultBundleAccessor.java 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/DefaultBundleAccessor.java
index 91c4363..199f183 100644
--- 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/DefaultBundleAccessor.java
+++ 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/DefaultBundleAccessor.java
@@ -25,8 +25,8 @@ import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.ActionProxy;
 import com.opensymphony.xwork2.config.entities.ActionConfig;
-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.osgi.host.OsgiHost;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
@@ -50,7 +50,7 @@ import java.util.Set;
 public class DefaultBundleAccessor implements BundleAccessor {
 
     private static DefaultBundleAccessor self;
-    private static final Logger LOG = 
LoggerFactory.getLogger(DefaultBundleAccessor.class);
+    private static final Logger LOG = 
LogManager.getLogger(DefaultBundleAccessor.class);
 
     private BundleContext bundleContext;
     private Map<String, String> packageToBundle = new HashMap<String, 
String>();

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
----------------------------------------------------------------------
diff --git 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
index 5e400ed..63620cb 100644
--- 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
+++ 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiConfigurationProvider.java
@@ -30,8 +30,8 @@ import com.opensymphony.xwork2.config.PackageProvider;
 import com.opensymphony.xwork2.config.entities.PackageConfig;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.util.finder.ClassLoaderInterface;
-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.StringUtils;
 import org.apache.struts2.osgi.host.OsgiHost;
 import org.apache.struts2.osgi.loaders.VelocityBundleResourceLoader;
@@ -53,7 +53,7 @@ import java.util.Set;
  */
 public class OsgiConfigurationProvider implements PackageProvider, 
BundleListener {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(OsgiConfigurationProvider.class);
+    private static final Logger LOG = 
LogManager.getLogger(OsgiConfigurationProvider.class);
 
     private Configuration configuration;
     private ObjectFactory objectFactory;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiUtil.java
----------------------------------------------------------------------
diff --git a/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiUtil.java 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiUtil.java
index e1df192..b5eaf6f 100644
--- a/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiUtil.java
+++ b/plugins/osgi/src/main/java/org/apache/struts2/osgi/OsgiUtil.java
@@ -21,8 +21,8 @@
 
 package org.apache.struts2.osgi;
 
-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.osgi.framework.Bundle;
 
 import java.lang.reflect.Method;
@@ -31,7 +31,7 @@ import java.net.URL;
 
 public class OsgiUtil {
 
-    private static final Logger LOG = LoggerFactory.getLogger(OsgiUtil.class);
+    private static final Logger LOG = LogManager.getLogger(OsgiUtil.class);
 
     /**
      * A bundle is a jar, and a bunble URL will be useless to clients, this 
method translates

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/osgi/src/main/java/org/apache/struts2/osgi/StrutsOsgiListener.java
----------------------------------------------------------------------
diff --git 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/StrutsOsgiListener.java 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/StrutsOsgiListener.java
index 31b980f..b379538 100644
--- a/plugins/osgi/src/main/java/org/apache/struts2/osgi/StrutsOsgiListener.java
+++ b/plugins/osgi/src/main/java/org/apache/struts2/osgi/StrutsOsgiListener.java
@@ -1,7 +1,7 @@
 package org.apache.struts2.osgi;
 
-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.osgi.host.OsgiHost;
 
@@ -17,7 +17,7 @@ public class StrutsOsgiListener implements 
ServletContextListener {
     public static final String OSGI_HOST = "__struts_osgi_host";
     public static final String PLATFORM_KEY = "struts.osgi.host";
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(StrutsOsgiListener.class);
+    private static final Logger LOG = 
LogManager.getLogger(StrutsOsgiListener.class);
 
     private OsgiHost osgiHost;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/BaseOsgiHost.java
----------------------------------------------------------------------
diff --git 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/BaseOsgiHost.java 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/BaseOsgiHost.java
index 0670a21..0225616 100644
--- a/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/BaseOsgiHost.java
+++ b/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/BaseOsgiHost.java
@@ -23,8 +23,8 @@ package org.apache.struts2.osgi.host;
 import com.opensymphony.xwork2.FileManager;
 import com.opensymphony.xwork2.FileManagerFactory;
 import com.opensymphony.xwork2.util.finder.ResourceFinder;
-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.lang.StringUtils;
 import org.apache.felix.main.AutoProcessor;
 import org.apache.felix.shell.ShellService;
@@ -58,7 +58,7 @@ import java.util.regex.Pattern;
  */
 public abstract class BaseOsgiHost implements OsgiHost {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(BaseOsgiHost.class);
+    private static final Logger LOG = LogManager.getLogger(BaseOsgiHost.class);
 
     protected static final Pattern versionPattern = 
Pattern.compile("([\\d])+[\\.-]");
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/FelixOsgiHost.java
----------------------------------------------------------------------
diff --git 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/FelixOsgiHost.java 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/FelixOsgiHost.java
index 77d2614..f1393ea 100644
--- a/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/FelixOsgiHost.java
+++ b/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/FelixOsgiHost.java
@@ -22,8 +22,8 @@
 package org.apache.struts2.osgi.host;
 
 import com.opensymphony.xwork2.config.ConfigurationException;
-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.felix.framework.Felix;
 import org.apache.felix.framework.util.FelixConstants;
@@ -51,7 +51,7 @@ import java.util.Properties;
  */
 public class FelixOsgiHost extends BaseOsgiHost {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(FelixOsgiHost.class);
+    private static final Logger LOG = 
LogManager.getLogger(FelixOsgiHost.class);
 
     protected Felix felix;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/GlassfishOSGiHost.java
----------------------------------------------------------------------
diff --git 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/GlassfishOSGiHost.java
 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/GlassfishOSGiHost.java
index 1a50091..9744fb0 100644
--- 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/GlassfishOSGiHost.java
+++ 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/host/GlassfishOSGiHost.java
@@ -20,8 +20,8 @@
  */
 package org.apache.struts2.osgi.host;
 
-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.felix.shell.ShellService;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
@@ -43,7 +43,7 @@ import java.util.Map;
  */
 public class GlassfishOSGiHost extends BaseOsgiHost implements OsgiHost {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(GlassfishOSGiHost.class);
+    private static final Logger LOG = 
LogManager.getLogger(GlassfishOSGiHost.class);
 
     /**
      * Location inside the WAR where initial bundles are located.

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/osgi/src/main/java/org/apache/struts2/osgi/interceptor/OsgiInterceptor.java
----------------------------------------------------------------------
diff --git 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/interceptor/OsgiInterceptor.java
 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/interceptor/OsgiInterceptor.java
index 4f6eed5..53a58eb 100644
--- 
a/plugins/osgi/src/main/java/org/apache/struts2/osgi/interceptor/OsgiInterceptor.java
+++ 
b/plugins/osgi/src/main/java/org/apache/struts2/osgi/interceptor/OsgiInterceptor.java
@@ -23,8 +23,8 @@ package org.apache.struts2.osgi.interceptor;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
-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.osgi.host.OsgiHost;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
@@ -41,7 +41,7 @@ import java.util.List;
  */
 public class OsgiInterceptor extends AbstractInterceptor {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(OsgiInterceptor.class);
+    private static final Logger LOG = 
LogManager.getLogger(OsgiInterceptor.class);
 
     private BundleContext bundleContext;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/DefaultOValValidationManager.java
----------------------------------------------------------------------
diff --git 
a/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/DefaultOValValidationManager.java
 
b/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/DefaultOValValidationManager.java
index 8c35fe0..b748fce 100644
--- 
a/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/DefaultOValValidationManager.java
+++ 
b/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/DefaultOValValidationManager.java
@@ -4,8 +4,8 @@ import com.opensymphony.xwork2.FileManager;
 import com.opensymphony.xwork2.FileManagerFactory;
 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 net.sf.oval.configuration.Configurer;
 import net.sf.oval.configuration.annotation.AnnotationsConfigurer;
 import net.sf.oval.configuration.annotation.JPAAnnotationsConfigurer;
@@ -22,7 +22,7 @@ import java.util.TreeSet;
 
 
 public class DefaultOValValidationManager implements OValValidationManager {
-    private static final Logger LOG = 
LoggerFactory.getLogger(DefaultOValValidationManager.class);
+    private static final Logger LOG = 
LogManager.getLogger(DefaultOValValidationManager.class);
 
     protected static final String VALIDATION_CONFIG_SUFFIX = "-validation.xml";
     protected final Map<String, List<Configurer>> validatorCache = new 
HashMap<String, List<Configurer>>();

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java
----------------------------------------------------------------------
diff --git 
a/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java
 
b/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java
index a09cec4..b4d5410 100644
--- 
a/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java
+++ 
b/plugins/oval/src/main/java/org/apache/struts2/oval/interceptor/OValValidationInterceptor.java
@@ -28,8 +28,8 @@ import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
 import com.opensymphony.xwork2.interceptor.PrefixMethodInvocationUtil;
 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.validator.DelegatingValidatorContext;
 import com.opensymphony.xwork2.validator.ValidatorContext;
 import net.sf.oval.ConstraintViolation;
@@ -49,7 +49,7 @@ import java.util.List;
  This interceptor provides validation using the OVal validation framework
  */
 public class OValValidationInterceptor extends MethodFilterInterceptor {
-    private static final Logger LOG = 
LoggerFactory.getLogger(OValValidationInterceptor.class);
+    private static final Logger LOG = 
LogManager.getLogger(OValValidationInterceptor.class);
 
     protected final static String VALIDATE_PREFIX = "validate";
     protected final static String ALT_VALIDATE_PREFIX = "validateDo";

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java
----------------------------------------------------------------------
diff --git 
a/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java
 
b/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java
index ed18a32..0e5402d 100644
--- 
a/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java
+++ 
b/plugins/pell-multipart/src/main/java/org/apache/struts2/dispatcher/multipart/PellMultiPartRequest.java
@@ -23,8 +23,8 @@ package org.apache.struts2.dispatcher.multipart;
 
 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 org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 import http.utils.multipartrequest.ServletMultipartRequest;
 import org.apache.struts2.StrutsConstants;
 
@@ -45,7 +45,7 @@ import java.util.Locale;
  */
 public class PellMultiPartRequest implements MultiPartRequest {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(PellMultiPartRequest.class);
+    private static final Logger LOG = 
LogManager.getLogger(PellMultiPartRequest.class);
     private ServletMultipartRequest multi;
 
     private String defaultEncoding;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusFilter.java
----------------------------------------------------------------------
diff --git 
a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusFilter.java 
b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusFilter.java
index 4d0fb13..8058dac 100644
--- a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusFilter.java
+++ b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusFilter.java
@@ -36,14 +36,14 @@ import javax.servlet.http.HttpSession;
 
 import org.codehaus.plexus.PlexusContainer;
 
-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;
 
 /**
  * Creates a plexus container for the application, session, and request
  */
 public class PlexusFilter implements Filter {
-    private static final Logger LOG = 
LoggerFactory.getLogger(PlexusObjectFactory.class);
+    private static final Logger LOG = 
LogManager.getLogger(PlexusObjectFactory.class);
     private static final String CHILD_CONTAINER_NAME = "request";
 
     private static boolean loaded = false;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusLifecycleListener.java
----------------------------------------------------------------------
diff --git 
a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusLifecycleListener.java
 
b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusLifecycleListener.java
index b38bbaa..f4ba972 100644
--- 
a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusLifecycleListener.java
+++ 
b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusLifecycleListener.java
@@ -33,14 +33,14 @@ import javax.servlet.http.HttpSessionListener;
 import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusContainer;
 
-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;
 
 /**
  * Manages the Plexus lifecycle for the servlet and session contexts
  */
 public class PlexusLifecycleListener implements ServletContextListener, 
HttpSessionListener {
-    private static final Logger LOG = 
LoggerFactory.getLogger(PlexusObjectFactory.class);
+    private static final Logger LOG = 
LogManager.getLogger(PlexusObjectFactory.class);
 
     private static boolean loaded = false;
     public static final String KEY = "struts.plexus.container";

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java
----------------------------------------------------------------------
diff --git 
a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java
 
b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java
index a0089e4..5033b99 100644
--- 
a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java
+++ 
b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusObjectFactory.java
@@ -30,8 +30,8 @@ import 
com.opensymphony.xwork2.config.entities.InterceptorConfig;
 import com.opensymphony.xwork2.config.entities.ResultConfig;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.interceptor.Interceptor;
-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 com.opensymphony.xwork2.validator.Validator;
 import org.codehaus.plexus.PlexusContainer;
@@ -71,7 +71,7 @@ import java.util.Map;
  */
 public class PlexusObjectFactory extends ObjectFactory {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(PlexusObjectFactory.class);
+    private static final Logger LOG = 
LogManager.getLogger(PlexusObjectFactory.class);
 
     private static final String PLEXUS_COMPONENT_TYPE = 
"plexus.component.type";
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusUtils.java
----------------------------------------------------------------------
diff --git 
a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusUtils.java 
b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusUtils.java
index c12f0ae..27575bd 100644
--- a/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusUtils.java
+++ b/plugins/plexus/src/main/java/org/apache/struts2/plexus/PlexusUtils.java
@@ -28,14 +28,14 @@ import java.io.InputStreamReader;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.configuration.PlexusConfigurationResourceException;
 
-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;
 
 /**
  * Utility methods for dealing with Plexus
  */
 public class PlexusUtils {
-    private static final Logger LOG = 
LoggerFactory.getLogger(PlexusObjectFactory.class);
+    private static final Logger LOG = 
LogManager.getLogger(PlexusObjectFactory.class);
 
     /**
      * Configures the container with the configuration file

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/portlet/src/main/java/org/apache/struts2/StrutsPortletTestCase.java
----------------------------------------------------------------------
diff --git 
a/plugins/portlet/src/main/java/org/apache/struts2/StrutsPortletTestCase.java 
b/plugins/portlet/src/main/java/org/apache/struts2/StrutsPortletTestCase.java
index 6291a9b..ad89df1 100644
--- 
a/plugins/portlet/src/main/java/org/apache/struts2/StrutsPortletTestCase.java
+++ 
b/plugins/portlet/src/main/java/org/apache/struts2/StrutsPortletTestCase.java
@@ -1,8 +1,8 @@
 package org.apache.struts2;
 
 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.struts2.portlet.PortletConstants;
 import org.apache.struts2.portlet.PortletPhase;
 import org.springframework.mock.web.portlet.MockPortletContext;
@@ -20,7 +20,7 @@ import java.util.Map;
  */
 public abstract class StrutsPortletTestCase extends StrutsTestCase {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(StrutsPortletTestCase.class);
+    private static final Logger LOG = 
LogManager.getLogger(StrutsPortletTestCase.class);
 
     protected MockPortletSession portletSession;
     protected MockPortletRequest portletRequest;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr168Dispatcher.java
----------------------------------------------------------------------
diff --git 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr168Dispatcher.java
 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr168Dispatcher.java
index 99da301..d3a7612 100644
--- 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr168Dispatcher.java
+++ 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr168Dispatcher.java
@@ -27,8 +27,8 @@ import com.opensymphony.xwork2.ActionProxyFactory;
 import com.opensymphony.xwork2.config.ConfigurationException;
 import com.opensymphony.xwork2.inject.Container;
 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 org.apache.commons.lang3.StringUtils;
 import org.apache.struts2.StrutsConstants;
 import org.apache.struts2.StrutsException;
@@ -174,7 +174,7 @@ import static 
org.apache.struts2.portlet.PortletConstants.RESPONSE;
  */
 public class Jsr168Dispatcher extends GenericPortlet implements StrutsStatics {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(Jsr168Dispatcher.class);
+    private static final Logger LOG = 
LogManager.getLogger(Jsr168Dispatcher.class);
 
     protected String portletNamespace = null;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr286Dispatcher.java
----------------------------------------------------------------------
diff --git 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr286Dispatcher.java
 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr286Dispatcher.java
index 9a5c329..2e82f0b 100644
--- 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr286Dispatcher.java
+++ 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/dispatcher/Jsr286Dispatcher.java
@@ -1,8 +1,8 @@
 package org.apache.struts2.portlet.dispatcher;
 
 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.struts2.portlet.PortletPhase;
 import org.apache.struts2.portlet.servlet.PortletServletResponse;
 import org.apache.struts2.portlet.servlet.PortletServletResponseJSR286;
@@ -18,7 +18,7 @@ import java.io.IOException;
 
 public class Jsr286Dispatcher extends Jsr168Dispatcher {
 
-    private final static Logger LOG = 
LoggerFactory.getLogger(Jsr286Dispatcher.class);
+    private final static Logger LOG = 
LogManager.getLogger(Jsr286Dispatcher.class);
 
 
     @Override

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletAwareInterceptor.java
----------------------------------------------------------------------
diff --git 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletAwareInterceptor.java
 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletAwareInterceptor.java
index cc2d23b..87fd279 100644
--- 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletAwareInterceptor.java
+++ 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletAwareInterceptor.java
@@ -23,8 +23,8 @@ package org.apache.struts2.portlet.interceptor;
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
-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.StrutsStatics;
 import org.apache.struts2.interceptor.PrincipalAware;
 import org.apache.struts2.portlet.PortletConstants;
@@ -37,7 +37,7 @@ public class PortletAwareInterceptor extends 
AbstractInterceptor implements Stru
 
        private static final long serialVersionUID = 2476509721059587700L;
        
-       private static final Logger LOG = 
LoggerFactory.getLogger(PortletAwareInterceptor.class);
+       private static final Logger LOG = 
LogManager.getLogger(PortletAwareInterceptor.class);
 
        /**
      * Sets action properties based on the interfaces an action implements. 
Things like application properties,

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletStateInterceptor.java
----------------------------------------------------------------------
diff --git 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletStateInterceptor.java
 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletStateInterceptor.java
index 536882c..48832a4 100644
--- 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletStateInterceptor.java
+++ 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletStateInterceptor.java
@@ -24,8 +24,8 @@ import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
 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 org.apache.commons.lang3.StringUtils;
 import org.apache.struts2.portlet.PortletConstants;
 import org.apache.struts2.portlet.PortletPhase;
@@ -39,7 +39,7 @@ import static org.apache.struts2.portlet.PortletConstants.*;
 
 public class PortletStateInterceptor extends AbstractInterceptor {
 
-       private final static Logger LOG = 
LoggerFactory.getLogger(PortletStateInterceptor.class);
+       private final static Logger LOG = 
LogManager.getLogger(PortletStateInterceptor.class);
 
        private static final long serialVersionUID = 6138452063353911784L;
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletResult.java
----------------------------------------------------------------------
diff --git 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletResult.java
 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletResult.java
index ea86865..7fa2336 100644
--- 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletResult.java
+++ 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletResult.java
@@ -22,8 +22,8 @@ package org.apache.struts2.portlet.result;
 
 import com.opensymphony.xwork2.ActionInvocation;
 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.commons.lang3.StringUtils;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.dispatcher.StrutsResultSupport;
@@ -61,7 +61,7 @@ public class PortletResult extends StrutsResultSupport {
        /**
         * Logger instance.
         */
-       private static final Logger LOG = 
LoggerFactory.getLogger(PortletResult.class);
+       private static final Logger LOG = 
LogManager.getLogger(PortletResult.class);
 
        private String contentType = "text/html";
 

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletVelocityResult.java
----------------------------------------------------------------------
diff --git 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletVelocityResult.java
 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletVelocityResult.java
index 65e0291..2d43c27 100644
--- 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletVelocityResult.java
+++ 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/result/PortletVelocityResult.java
@@ -24,8 +24,8 @@ import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionInvocation;
 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.Logger;
+import org.apache.logging.log4j.LogManager;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.StrutsConstants;
 import org.apache.struts2.dispatcher.StrutsResultSupport;
@@ -90,7 +90,7 @@ public class PortletVelocityResult extends 
StrutsResultSupport {
 
     private static final long serialVersionUID = -8241086555872212274L;
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(PortletVelocityResult.class);
+    private static final Logger LOG = 
LogManager.getLogger(PortletVelocityResult.class);
     
     private String defaultEncoding;
     private VelocityManager velocityManager;

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponseJSR286.java
----------------------------------------------------------------------
diff --git 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponseJSR286.java
 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponseJSR286.java
index d9ccf92..6e9f0f5 100644
--- 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponseJSR286.java
+++ 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/servlet/PortletServletResponseJSR286.java
@@ -9,8 +9,8 @@ import javax.portlet.PortletResponse;
 import javax.portlet.ResourceResponse;
 import javax.servlet.ServletOutputStream;
 
-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;
 
 /**
  * PortletServletResponseJSR286.
@@ -19,7 +19,7 @@ import com.opensymphony.xwork2.util.logging.LoggerFactory;
  */
 public class PortletServletResponseJSR286 extends PortletServletResponse {
 
-  private static final Logger LOG = 
LoggerFactory.getLogger(PortletServletResponseJSR286.class);
+  private static final Logger LOG = 
LogManager.getLogger(PortletServletResponseJSR286.class);
   
     public PortletServletResponseJSR286( PortletResponse portletResponse ) {
         super(portletResponse);

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelper.java
----------------------------------------------------------------------
diff --git 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelper.java
 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelper.java
index 73a40d7..7e72287 100644
--- 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelper.java
+++ 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelper.java
@@ -20,8 +20,8 @@
  */
 package org.apache.struts2.portlet.util;
 
-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.StringUtils;
 import org.apache.struts2.StrutsException;
 import org.apache.struts2.portlet.context.PortletActionContext;
@@ -53,7 +53,7 @@ import static 
org.apache.struts2.portlet.PortletConstants.MODE_PARAM;
 public class PortletUrlHelper {
     public static final String ENCODING = "UTF-8";
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(PortletUrlHelper.class);
+    private static final Logger LOG = 
LogManager.getLogger(PortletUrlHelper.class);
 
     protected static final String PORTLETMODE_NAME_EDIT = "edit";
     protected static final String PORTLETMODE_NAME_VIEW = "view";

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelperJSR286.java
----------------------------------------------------------------------
diff --git 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelperJSR286.java
 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelperJSR286.java
index 5f98742..82e9699 100644
--- 
a/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelperJSR286.java
+++ 
b/plugins/portlet/src/main/java/org/apache/struts2/portlet/util/PortletUrlHelperJSR286.java
@@ -7,8 +7,8 @@ import javax.portlet.BaseURL;
 import javax.portlet.PortletSecurityException;
 import java.util.Map;
 
-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;
 
 /**
  * PortletUrlJSR286Helper.
@@ -17,7 +17,7 @@ import com.opensymphony.xwork2.util.logging.LoggerFactory;
  */
 public class PortletUrlHelperJSR286 extends PortletUrlHelper {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(PortletUrlHelperJSR286.class);
+    private static final Logger LOG = 
LogManager.getLogger(PortletUrlHelperJSR286.class);
 
     protected String encodeUrl( StringBuffer sb, PortletRequest req ) {
         MimeResponse resp = (MimeResponse) PortletActionContext.getResponse();

http://git-wip-us.apache.org/repos/asf/struts/blob/95805e54/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionInvocation.java
----------------------------------------------------------------------
diff --git 
a/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionInvocation.java 
b/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionInvocation.java
index ed8c695..6574cbe 100644
--- 
a/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionInvocation.java
+++ 
b/plugins/rest/src/main/java/org/apache/struts2/rest/RestActionInvocation.java
@@ -31,8 +31,8 @@ import com.opensymphony.xwork2.config.ConfigurationException;
 import com.opensymphony.xwork2.config.entities.ActionConfig;
 import com.opensymphony.xwork2.config.entities.ResultConfig;
 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.profiling.UtilTimerStack;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.dispatcher.HttpHeaderResult;
@@ -54,7 +54,7 @@ public class RestActionInvocation extends 
DefaultActionInvocation {
 
     private static final long serialVersionUID = 3485701178946428716L;
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(RestActionInvocation.class);
+    private static final Logger LOG = 
LogManager.getLogger(RestActionInvocation.class);
 
     private ContentTypeHandlerManager handlerSelector;
     private boolean logger;

Reply via email to