diff --git a/pom.xml b/pom.xml
index 5c9d0283..f5cef52a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -223,14 +223,14 @@
test
- org.codehaus.woodstox
- wstx-asl
- 3.2.0
+ com.fasterxml.woodstox
+ woodstox-core
+ 6.5.1
- log4j
- log4j
- 1.2.14
+ org.apache.logging.log4j
+ log4j-api
+ 2.20.0
commons-codec
diff --git a/src/main/java/com/lyncode/xoai/dataprovider/OAIDataProvider.java b/src/main/java/com/lyncode/xoai/dataprovider/OAIDataProvider.java
index b6c06731..9cb79c5b 100644
--- a/src/main/java/com/lyncode/xoai/dataprovider/OAIDataProvider.java
+++ b/src/main/java/com/lyncode/xoai/dataprovider/OAIDataProvider.java
@@ -34,8 +34,8 @@
import com.lyncode.xoai.dataprovider.xml.oaipmh.OAIPMHtype;
import com.lyncode.xoai.dataprovider.xml.oaipmh.RequestType;
import com.lyncode.xoai.dataprovider.xml.oaipmh.VerbType;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import javax.xml.stream.XMLStreamException;
import java.io.OutputStream;
diff --git a/src/main/java/com/lyncode/xoai/dataprovider/OAIRequestParameters.java b/src/main/java/com/lyncode/xoai/dataprovider/OAIRequestParameters.java
index a4ca2bf8..37162105 100644
--- a/src/main/java/com/lyncode/xoai/dataprovider/OAIRequestParameters.java
+++ b/src/main/java/com/lyncode/xoai/dataprovider/OAIRequestParameters.java
@@ -18,8 +18,8 @@
import com.lyncode.xoai.dataprovider.exceptions.DuplicateDefinitionException;
import com.lyncode.xoai.dataprovider.exceptions.IllegalVerbException;
import com.lyncode.xoai.dataprovider.exceptions.UnknownParameterException;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/lyncode/xoai/dataprovider/core/ItemMetadata.java b/src/main/java/com/lyncode/xoai/dataprovider/core/ItemMetadata.java
index 1833370e..42639af0 100644
--- a/src/main/java/com/lyncode/xoai/dataprovider/core/ItemMetadata.java
+++ b/src/main/java/com/lyncode/xoai/dataprovider/core/ItemMetadata.java
@@ -2,8 +2,8 @@
import com.lyncode.xoai.dataprovider.xml.xoai.Metadata;
import com.lyncode.xoai.dataprovider.xml.xoai.XOAIParser;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import javax.xml.stream.XMLStreamException;
import java.io.ByteArrayInputStream;
diff --git a/src/main/java/com/lyncode/xoai/dataprovider/core/OAIParameters.java b/src/main/java/com/lyncode/xoai/dataprovider/core/OAIParameters.java
index 0ff66586..c8ed4855 100644
--- a/src/main/java/com/lyncode/xoai/dataprovider/core/OAIParameters.java
+++ b/src/main/java/com/lyncode/xoai/dataprovider/core/OAIParameters.java
@@ -22,8 +22,8 @@
import com.lyncode.xoai.dataprovider.services.api.ResumptionTokenFormatter;
import com.lyncode.xoai.dataprovider.services.impl.BaseDateProvider;
import com.lyncode.xoai.dataprovider.xml.oaipmh.VerbType;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.text.ParseException;
import java.util.Calendar;
diff --git a/src/main/java/com/lyncode/xoai/dataprovider/core/XOAIContext.java b/src/main/java/com/lyncode/xoai/dataprovider/core/XOAIContext.java
index 82254f6f..4a81e3dc 100644
--- a/src/main/java/com/lyncode/xoai/dataprovider/core/XOAIContext.java
+++ b/src/main/java/com/lyncode/xoai/dataprovider/core/XOAIContext.java
@@ -23,8 +23,8 @@
import com.lyncode.xoai.dataprovider.exceptions.CannotDisseminateFormatException;
import com.lyncode.xoai.dataprovider.filter.conditions.Condition;
import com.lyncode.xoai.dataprovider.sets.StaticSet;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/src/main/java/com/lyncode/xoai/dataprovider/data/internal/SetRepositoryHelper.java b/src/main/java/com/lyncode/xoai/dataprovider/data/internal/SetRepositoryHelper.java
index 6c1ab895..81ce68d2 100644
--- a/src/main/java/com/lyncode/xoai/dataprovider/data/internal/SetRepositoryHelper.java
+++ b/src/main/java/com/lyncode/xoai/dataprovider/data/internal/SetRepositoryHelper.java
@@ -5,8 +5,8 @@
import com.lyncode.xoai.dataprovider.core.XOAIContext;
import com.lyncode.xoai.dataprovider.services.api.SetRepository;
import com.lyncode.xoai.dataprovider.sets.StaticSet;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/lyncode/xoai/dataprovider/format/MetadataFormatManager.java b/src/main/java/com/lyncode/xoai/dataprovider/format/MetadataFormatManager.java
index 3617b203..c2ccaeff 100644
--- a/src/main/java/com/lyncode/xoai/dataprovider/format/MetadataFormatManager.java
+++ b/src/main/java/com/lyncode/xoai/dataprovider/format/MetadataFormatManager.java
@@ -23,8 +23,8 @@
import com.lyncode.xoai.dataprovider.filter.FilterManager;
import com.lyncode.xoai.dataprovider.services.api.ResourceResolver;
import com.lyncode.xoai.dataprovider.xml.xoaiconfig.FormatConfiguration;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
diff --git a/src/main/java/com/lyncode/xoai/dataprovider/handlers/IdentifyHandler.java b/src/main/java/com/lyncode/xoai/dataprovider/handlers/IdentifyHandler.java
index 8bad92ea..b4b6e744 100644
--- a/src/main/java/com/lyncode/xoai/dataprovider/handlers/IdentifyHandler.java
+++ b/src/main/java/com/lyncode/xoai/dataprovider/handlers/IdentifyHandler.java
@@ -11,8 +11,8 @@
import com.lyncode.xoai.dataprovider.xml.oaipmh.IdentifyType;
import com.lyncode.xoai.dataprovider.xml.xoaidescription.XOAIDescription;
import com.lyncode.xoai.util.MarshallingUtils;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/lyncode/xoai/dataprovider/handlers/ListRecordsHandler.java b/src/main/java/com/lyncode/xoai/dataprovider/handlers/ListRecordsHandler.java
index 20566b28..5e85031c 100644
--- a/src/main/java/com/lyncode/xoai/dataprovider/handlers/ListRecordsHandler.java
+++ b/src/main/java/com/lyncode/xoai/dataprovider/handlers/ListRecordsHandler.java
@@ -12,8 +12,8 @@
import com.lyncode.xoai.dataprovider.services.api.RepositoryConfiguration;
import com.lyncode.xoai.dataprovider.services.api.ResumptionTokenFormatter;
import com.lyncode.xoai.dataprovider.xml.oaipmh.*;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import javax.xml.stream.XMLStreamException;
import javax.xml.transform.TransformerException;
diff --git a/src/main/java/com/lyncode/xoai/dataprovider/handlers/ListSetsHandler.java b/src/main/java/com/lyncode/xoai/dataprovider/handlers/ListSetsHandler.java
index bec2ef7e..05e5e184 100644
--- a/src/main/java/com/lyncode/xoai/dataprovider/handlers/ListSetsHandler.java
+++ b/src/main/java/com/lyncode/xoai/dataprovider/handlers/ListSetsHandler.java
@@ -13,8 +13,8 @@
import com.lyncode.xoai.dataprovider.xml.oaipmh.ResumptionTokenType;
import com.lyncode.xoai.dataprovider.xml.oaipmh.SetType;
import com.lyncode.xoai.dataprovider.xml.xoai.Metadata;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.util.List;
diff --git a/src/main/java/com/lyncode/xoai/dataprovider/services/impl/DefaultResumptionTokenFormatter.java b/src/main/java/com/lyncode/xoai/dataprovider/services/impl/DefaultResumptionTokenFormatter.java
index d8c9f158..54c55e87 100644
--- a/src/main/java/com/lyncode/xoai/dataprovider/services/impl/DefaultResumptionTokenFormatter.java
+++ b/src/main/java/com/lyncode/xoai/dataprovider/services/impl/DefaultResumptionTokenFormatter.java
@@ -4,8 +4,8 @@
import com.lyncode.xoai.dataprovider.exceptions.BadResumptionToken;
import com.lyncode.xoai.dataprovider.services.api.ResumptionTokenFormatter;
import com.lyncode.xoai.util.Base64Utils;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import java.text.ParseException;
import java.text.SimpleDateFormat;
diff --git a/src/main/java/com/lyncode/xoai/serviceprovider/OAIServiceConfiguration.java b/src/main/java/com/lyncode/xoai/serviceprovider/OAIServiceConfiguration.java
index b447d32a..45b72a8e 100644
--- a/src/main/java/com/lyncode/xoai/serviceprovider/OAIServiceConfiguration.java
+++ b/src/main/java/com/lyncode/xoai/serviceprovider/OAIServiceConfiguration.java
@@ -5,11 +5,12 @@
import com.lyncode.xoai.serviceprovider.parser.AboutSetParser;
import com.lyncode.xoai.serviceprovider.parser.DescriptionParser;
import com.lyncode.xoai.serviceprovider.parser.MetadataParser;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
public abstract class OAIServiceConfiguration {
- private static Logger log = Logger.getLogger(OAIServiceConfiguration.class);
+ private static Logger log = LogManager.getLogger(OAIServiceConfiguration.class);
private static final int INTERVAL = 1000;
private DateProvider formatter;
diff --git a/src/main/java/com/lyncode/xoai/util/MarshallingUtils.java b/src/main/java/com/lyncode/xoai/util/MarshallingUtils.java
index 35d82052..1347cdaa 100644
--- a/src/main/java/com/lyncode/xoai/util/MarshallingUtils.java
+++ b/src/main/java/com/lyncode/xoai/util/MarshallingUtils.java
@@ -5,8 +5,8 @@
import com.lyncode.xoai.dataprovider.xml.xoai.Metadata;
import com.lyncode.xoai.dataprovider.xml.xoaidescription.XOAIDescription;
import com.lyncode.xoai.dataprovider.exceptions.MetadataBindException;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;