changeset 570:584591f8203c 3.2.x

Upgrade to Log4j 2
author Tom Gottfried <tom@intevation.de>
date Mon, 28 Feb 2022 17:41:14 +0100
parents 2b40f4bf190d
children 5f09f902dec2
files artifact-database/doc/example-conf/log4j.properties artifact-database/pom.xml artifact-database/src/main/java/org/dive4elements/artifactdatabase/AbstractCallContext.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/ArtifactCallContext.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/ArtifactDatabaseImpl.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/Backend.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/CollectionCallContext.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/DatabaseCleaner.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifact.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifactCollection.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifactCollectionFactory.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifactFactory.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifactSerializer.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultBackendListener.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultService.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultServiceFactory.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultUserFactory.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/FactoryBootstrap.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/ProxyArtifact.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/XMLService.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/db/DBConnection.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/db/SQL.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/db/SQLExecutor.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/h2/CollectionAccessUpdateTrigger.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ArtifactOutResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ArtifactResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/BaseOutResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/BaseResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CollectionOutResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CollectionResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CreateCollectionResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CreateResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CreateUserResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ExportResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/FactoriesResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/FindUserResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ImportResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/JettyServer.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ListCollectionsResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ListUsersResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ServiceResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ServicesResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/Standalone.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/UserResource.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/state/AbstractState.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/state/FacetActivity.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/state/StateEngine.java artifact-database/src/main/java/org/dive4elements/artifactdatabase/transition/TransitionEngine.java artifacts-common/pom.xml artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/Config.java artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/FileTools.java artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/StringUtils.java artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/XMLUtils.java artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/XSLTransformer.java
diffstat 54 files changed, 171 insertions(+), 117 deletions(-) [+]
line wrap: on
line diff
--- a/artifact-database/doc/example-conf/log4j.properties	Fri Feb 25 16:58:11 2022 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-# Set root logger level to DEBUG and its only appender to A1.
-log4j.rootLogger=DEBUG, A1
-
-# A1 is set to be a ConsoleAppender.
-log4j.appender.A1=org.apache.log4j.ConsoleAppender
-
-# A1 uses PatternLayout.
-log4j.appender.A1.layout=org.apache.log4j.PatternLayout
-log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
--- a/artifact-database/pom.xml	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/pom.xml	Mon Feb 28 17:41:14 2022 +0100
@@ -72,9 +72,15 @@
       <version>1.4</version>
     </dependency>
     <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <version>1.2.17</version>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-api</artifactId>
+      <version>2.17.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-core</artifactId>
+      <version>2.17.1</version>
+      <scope>runtime</scope>
     </dependency>
     <dependency>
         <groupId>org.mortbay.jetty</groupId>
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/AbstractCallContext.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/AbstractCallContext.java	Mon Feb 28 17:41:14 2022 +0100
@@ -7,7 +7,8 @@
  */
 package org.dive4elements.artifactdatabase;
 
-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;
@@ -28,7 +29,7 @@
  */
 public abstract class AbstractCallContext implements CallContext {
 
-    Logger logger = Logger.getLogger(AbstractCallContext.class);
+    Logger logger = LogManager.getLogger(AbstractCallContext.class);
 
     /**
      * The ArtifactDatabase instance.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/ArtifactCallContext.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/ArtifactCallContext.java	Mon Feb 28 17:41:14 2022 +0100
@@ -9,7 +9,8 @@
 
 import java.util.LinkedList;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.dive4elements.artifacts.CallMeta;
 import org.dive4elements.artifacts.Message;
@@ -25,7 +26,7 @@
  */
 public class ArtifactCallContext extends AbstractCallContext {
 
-    private static Logger logger = Logger.getLogger(ArtifactCallContext.class);
+    private static Logger logger = LogManager.getLogger(ArtifactCallContext.class);
 
 
     /**
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/ArtifactDatabaseImpl.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/ArtifactDatabaseImpl.java	Mon Feb 28 17:41:14 2022 +0100
@@ -52,7 +52,8 @@
 import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.codec.binary.Hex;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -71,7 +72,7 @@
              Backend.FactoryLookup
 {
     private static Logger logger =
-        Logger.getLogger(ArtifactDatabaseImpl.class);
+        LogManager.getLogger(ArtifactDatabaseImpl.class);
 
     /** The key under which the artifact database is stored in the global
      * context.*/
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/Backend.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/Backend.java	Mon Feb 28 17:41:14 2022 +0100
@@ -35,7 +35,8 @@
 
 import java.util.concurrent.CopyOnWriteArrayList;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 
@@ -48,7 +49,7 @@
 public class Backend
 implements   DatabaseCleaner.ArtifactReviver
 {
-    private static Logger logger = Logger.getLogger(Backend.class);
+    private static Logger logger = LogManager.getLogger(Backend.class);
 
     /**
      * The SQL statement to create new artifact id inside the database.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/CollectionCallContext.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/CollectionCallContext.java	Mon Feb 28 17:41:14 2022 +0100
@@ -9,7 +9,8 @@
 
 import java.util.LinkedList;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.dive4elements.artifacts.ArtifactCollection;
 import org.dive4elements.artifacts.CallMeta;
@@ -24,7 +25,7 @@
  */
 public class CollectionCallContext extends AbstractCallContext {
 
-    private static Logger log = Logger.getLogger(CollectionCallContext.class);
+    private static Logger log = LogManager.getLogger(CollectionCallContext.class);
 
     /**
      * The ArtifactCollection.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DatabaseCleaner.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DatabaseCleaner.java	Mon Feb 28 17:41:14 2022 +0100
@@ -26,7 +26,8 @@
 import java.util.HashSet;
 import java.util.Collections;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 /**
  * The database cleaner runs in background. It sleep for a configurable
@@ -68,7 +69,7 @@
         Set<Integer> getLockedIds();
     } // interface LockedIdsProvider
 
-    private static Logger logger = Logger.getLogger(DatabaseCleaner.class);
+    private static Logger logger = LogManager.getLogger(DatabaseCleaner.class);
 
     /**
      * Number of artifacts to be loaded at once. Used to
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifact.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifact.java	Mon Feb 28 17:41:14 2022 +0100
@@ -19,7 +19,8 @@
 import java.io.OutputStream;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 
@@ -30,7 +31,7 @@
 public class DefaultArtifact
 implements   Artifact
 {
-    private static Logger logger = Logger.getLogger(DefaultArtifact.class);
+    private static Logger logger = LogManager.getLogger(DefaultArtifact.class);
 
     /**
      * The identifier of the artifact.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifactCollection.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifactCollection.java	Mon Feb 28 17:41:14 2022 +0100
@@ -16,7 +16,8 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 
@@ -38,7 +39,7 @@
 {
     /** The logger used in this class. */
     private static Logger logger =
-        Logger.getLogger(DefaultArtifactCollection.class);
+        LogManager.getLogger(DefaultArtifactCollection.class);
 
     /** The identifier of the collection. */
     protected String identifier;
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifactCollectionFactory.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifactCollectionFactory.java	Mon Feb 28 17:41:14 2022 +0100
@@ -9,7 +9,8 @@
 
 import org.dive4elements.artifacts.common.utils.Config;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -30,7 +31,7 @@
 {
     /** The logger that is used in this factory.*/
     private static Logger logger =
-        Logger.getLogger(DefaultArtifactCollectionFactory.class);
+        LogManager.getLogger(DefaultArtifactCollectionFactory.class);
 
     /** XPath to access the TTL of this artifact.*/
     public static final String XPATH_TTL = "@ttl";
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifactFactory.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifactFactory.java	Mon Feb 28 17:41:14 2022 +0100
@@ -24,7 +24,8 @@
 import org.dive4elements.artifacts.CallMeta;
 import org.dive4elements.artifacts.GlobalContext;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -44,7 +45,7 @@
 implements   ArtifactFactory
 {
     private static Logger logger =
-        Logger.getLogger(DefaultArtifactFactory.class);
+        LogManager.getLogger(DefaultArtifactFactory.class);
 
     /**
      * XPath to access the TTL of this artifact.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifactSerializer.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultArtifactSerializer.java	Mon Feb 28 17:41:14 2022 +0100
@@ -22,7 +22,8 @@
 import java.util.zip.GZIPInputStream;
 import java.util.zip.GZIPOutputStream;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 /**
  * Default implementation of the ArtifactSerializer interface.
@@ -35,7 +36,7 @@
 implements   ArtifactSerializer
 {
     private static Logger logger =
-        Logger.getLogger(DefaultArtifactSerializer.class);
+        LogManager.getLogger(DefaultArtifactSerializer.class);
 
     /**
      * Static instance to avoid repeated creation of Serializers.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultBackendListener.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultBackendListener.java	Mon Feb 28 17:41:14 2022 +0100
@@ -9,12 +9,13 @@
 
 import org.w3c.dom.Document;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 public class DefaultBackendListener
 implements   BackendListener
 {
-    private static Logger log = Logger.getLogger(DefaultBackendListener.class);
+    private static Logger log = LogManager.getLogger(DefaultBackendListener.class);
 
     public DefaultBackendListener() {
     }
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultService.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultService.java	Mon Feb 28 17:41:14 2022 +0100
@@ -13,7 +13,8 @@
 import org.dive4elements.artifacts.GlobalContext;
 import org.dive4elements.artifacts.ServiceFactory;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 
@@ -26,7 +27,7 @@
 public class DefaultService
 implements   Service
 {
-    private static Logger logger = Logger.getLogger(DefaultService.class);
+    private static Logger logger = LogManager.getLogger(DefaultService.class);
 
     public static class Output implements Service.Output {
 
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultServiceFactory.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultServiceFactory.java	Mon Feb 28 17:41:14 2022 +0100
@@ -14,7 +14,8 @@
 import org.dive4elements.artifacts.GlobalContext;
 import org.dive4elements.artifacts.ServiceFactory;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -32,7 +33,7 @@
 implements   ServiceFactory
 {
     private static Logger logger =
-        Logger.getLogger(DefaultServiceFactory.class);
+        LogManager.getLogger(DefaultServiceFactory.class);
 
     /**
      * XPath to access the name of the service.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultUserFactory.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/DefaultUserFactory.java	Mon Feb 28 17:41:14 2022 +0100
@@ -8,7 +8,8 @@
 
 package org.dive4elements.artifactdatabase;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -26,7 +27,7 @@
 implements   UserFactory
 {
     /** The logger that is used in this factory.*/
-    private static Logger logger = Logger.getLogger(DefaultUserFactory.class);
+    private static Logger logger = LogManager.getLogger(DefaultUserFactory.class);
 
 
     /**
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/FactoryBootstrap.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/FactoryBootstrap.java	Mon Feb 28 17:41:14 2022 +0100
@@ -26,7 +26,8 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -39,7 +40,7 @@
  */
 public class FactoryBootstrap
 {
-    private static Logger logger = Logger.getLogger(FactoryBootstrap.class);
+    private static Logger logger = LogManager.getLogger(FactoryBootstrap.class);
 
     /**
      * XPath to figure out the class name of the context factory from
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/ProxyArtifact.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/ProxyArtifact.java	Mon Feb 28 17:41:14 2022 +0100
@@ -14,7 +14,8 @@
 import java.io.IOException;
 import java.io.OutputStream;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 
@@ -44,7 +45,7 @@
      */
     public static final Object REPLACE_PROXY = new Object();
 
-    private static Logger logger = Logger.getLogger(ProxyArtifact.class);
+    private static Logger logger = LogManager.getLogger(ProxyArtifact.class);
 
     /**
      * The proxied artifact.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/XMLService.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/XMLService.java	Mon Feb 28 17:41:14 2022 +0100
@@ -14,7 +14,8 @@
 
 import org.dive4elements.artifacts.common.utils.XMLUtils;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 
@@ -27,7 +28,7 @@
 public class XMLService
 extends      DefaultService
 {
-    private static Logger logger = Logger.getLogger(XMLService.class);
+    private static Logger logger = LogManager.getLogger(XMLService.class);
 
     @Override
     public Service.Output process(
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/db/DBConnection.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/db/DBConnection.java	Mon Feb 28 17:41:14 2022 +0100
@@ -14,11 +14,12 @@
 
 import org.dive4elements.artifacts.common.utils.Config;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 public class DBConnection
 {
-    private static Logger log = Logger.getLogger(DBConnection.class);
+    private static Logger log = LogManager.getLogger(DBConnection.class);
 
     public static final String DEFAULT_DRIVER        = "org.h2.Driver";
     public static final String DEFAULT_USER          = "";
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/db/SQL.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/db/SQL.java	Mon Feb 28 17:41:14 2022 +0100
@@ -5,11 +5,12 @@
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 public class SQL {
 
-    private static Logger logger = Logger.getLogger(SQL.class);
+    private static Logger logger = LogManager.getLogger(SQL.class);
 
     protected Properties statements;
 
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/db/SQLExecutor.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/db/SQLExecutor.java	Mon Feb 28 17:41:14 2022 +0100
@@ -7,11 +7,12 @@
 
 import javax.sql.DataSource;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 public class SQLExecutor
 {
-    private static Logger logger = Logger.getLogger(SQLExecutor.class);
+    private static Logger logger = LogManager.getLogger(SQLExecutor.class);
 
     public class Instance {
 
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/h2/CollectionAccessUpdateTrigger.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/h2/CollectionAccessUpdateTrigger.java	Mon Feb 28 17:41:14 2022 +0100
@@ -10,13 +10,14 @@
 
 import org.dive4elements.artifactdatabase.db.SQL;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 public class CollectionAccessUpdateTrigger
 implements   Trigger
 {
     private static Logger logger =
-        Logger.getLogger(CollectionAccessUpdateTrigger.class);
+        LogManager.getLogger(CollectionAccessUpdateTrigger.class);
 
     public String COLLECTIONS_TOUCH_TRIGGER_FUNCTION;
 
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ArtifactOutResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ArtifactOutResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -12,7 +12,8 @@
 import org.dive4elements.artifacts.ArtifactDatabaseException;
 import org.dive4elements.artifacts.CallMeta;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.Request;
 
@@ -31,7 +32,7 @@
      */
     public static final String PATH = "/artifact/{uuid}/{type}";
 
-    private static Logger logger = Logger.getLogger(ArtifactOutResource.class);
+    private static Logger logger = LogManager.getLogger(ArtifactOutResource.class);
 
 
     /**
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ArtifactResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ArtifactResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -16,7 +16,8 @@
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.Request;
 import org.restlet.Response;
@@ -46,7 +47,7 @@
 public class ArtifactResource
 extends      BaseResource
 {
-    private static Logger logger = Logger.getLogger(ArtifactResource.class);
+    private static Logger logger = LogManager.getLogger(ArtifactResource.class);
 
     /**
      * XPath to figure out the type of action (feed, advance) via the
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/BaseOutResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/BaseOutResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -16,7 +16,8 @@
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.Request;
 import org.restlet.Response;
@@ -43,7 +44,7 @@
 extends               BaseResource
 {
     /** The logger used in this class.*/
-    private static Logger logger = Logger.getLogger(BaseOutResource.class);
+    private static Logger logger = LogManager.getLogger(BaseOutResource.class);
 
     /** XPath to figure out the MIME type of the requested result.*/
     public static final String XPATH_MIME_TYPE =
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/BaseResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/BaseResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -17,7 +17,8 @@
 
 import java.util.List;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.data.ClientInfo;
 import org.restlet.data.Language;
@@ -36,7 +37,7 @@
 public class BaseResource
 extends      ServerResource
 {
-    private static Logger logger = Logger.getLogger(BaseResource.class);
+    private static Logger logger = LogManager.getLogger(BaseResource.class);
 
     /**
      * Default constructor.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CollectionOutResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CollectionOutResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -11,7 +11,8 @@
 import org.dive4elements.artifacts.ArtifactDatabaseException;
 import org.dive4elements.artifacts.CallMeta;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.Request;
 
@@ -27,7 +28,7 @@
 extends      BaseOutResource
 {
     /** The logger used in this class.*/
-    private static Logger logger = Logger.getLogger(CollectionOutResource.class);
+    private static Logger logger = LogManager.getLogger(CollectionOutResource.class);
 
     /** server URL where to find the resource.*/
     public static final String PATH = "/collection/{uuid}/{type}";
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CollectionResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CollectionResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -20,7 +20,8 @@
 
 import javax.xml.xpath.XPathConstants;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.data.MediaType;
 import org.restlet.data.Status;
@@ -41,7 +42,7 @@
 extends      BaseResource
 {
     /** The logger that is used in this class.*/
-    private static Logger logger = Logger.getLogger(CollectionResource.class);
+    private static Logger logger = LogManager.getLogger(CollectionResource.class);
 
     /** server URL where to reach the resource.*/
     public static final String PATH = "/collection/{uuid}";
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CreateCollectionResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CreateCollectionResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -13,7 +13,8 @@
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.data.MediaType;
 import org.restlet.data.Status;
@@ -36,7 +37,7 @@
 {
     /** The logger used in this class.*/
     private static Logger logger =
-        Logger.getLogger(CreateCollectionResource.class);
+        LogManager.getLogger(CreateCollectionResource.class);
 
     /** The URL part for this resource.*/
     public static final String PATH = "/create-collection/{ownerid}";
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CreateResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CreateResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -16,7 +16,8 @@
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.Response;
 
@@ -39,7 +40,7 @@
 public class CreateResource
 extends      BaseResource
 {
-    private static Logger logger = Logger.getLogger(CreateResource.class);
+    private static Logger logger = LogManager.getLogger(CreateResource.class);
 
     /**
      * server URL where to reach the resource.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CreateUserResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/CreateUserResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -9,7 +9,8 @@
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.Response;
 import org.restlet.data.MediaType;
@@ -34,7 +35,7 @@
 extends      BaseResource
 {
     /** The logger used in this class.*/
-    private static Logger logger = Logger.getLogger(CreateUserResource.class);
+    private static Logger logger = LogManager.getLogger(CreateUserResource.class);
 
     /** The URL part for this resource.*/
     public static final String PATH = "/create-user";
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ExportResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ExportResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -11,7 +11,8 @@
 import org.dive4elements.artifacts.ArtifactDatabase;
 import org.dive4elements.artifacts.ArtifactDatabaseException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.Request;
 import org.restlet.Response;
@@ -35,7 +36,7 @@
 public class ExportResource
 extends      BaseResource
 {
-    private static Logger logger = Logger.getLogger(ExportResource.class);
+    private static Logger logger = LogManager.getLogger(ExportResource.class);
 
     /**
      * server URL where to reach the resource.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/FactoriesResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/FactoriesResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -14,7 +14,8 @@
 import org.dive4elements.artifacts.ArtifactDatabase;
 import org.dive4elements.artifacts.ArtifactNamespaceContext;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.data.MediaType;
 
@@ -34,7 +35,7 @@
 public class FactoriesResource
 extends      BaseResource
 {
-    private static Logger logger = Logger.getLogger(FactoriesResource.class);
+    private static Logger logger = LogManager.getLogger(FactoriesResource.class);
 
     /**
      * server URL where to reach the resource.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/FindUserResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/FindUserResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -9,7 +9,8 @@
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.data.MediaType;
 import org.restlet.data.Status;
@@ -32,7 +33,7 @@
 extends      BaseResource
 {
     /** The logger that is used in this class.*/
-    private static Logger logger = Logger.getLogger(FindUserResource.class);
+    private static Logger logger = LogManager.getLogger(FindUserResource.class);
 
     /** server URL where to reach the resource.*/
     public static final String PATH = "/find-user";
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ImportResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ImportResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -13,7 +13,8 @@
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.Request;
 import org.restlet.Response;
@@ -37,7 +38,7 @@
 public class ImportResource
 extends      BaseResource
 {
-    private static Logger logger = Logger.getLogger(ImportResource.class);
+    private static Logger logger = LogManager.getLogger(ImportResource.class);
 
     /**
      * server URL where to reach the resource.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/JettyServer.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/JettyServer.java	Mon Feb 28 17:41:14 2022 +0100
@@ -7,12 +7,13 @@
 
 import org.restlet.ext.jetty.HttpServerHelper;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 public class JettyServer
 extends      Standalone
 {
-    private static Logger logger = Logger.getLogger(JettyServer.class);
+    private static Logger logger = LogManager.getLogger(JettyServer.class);
 
     @Override
     public void startAsServer(ArtifactDatabase db) {
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ListCollectionsResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ListCollectionsResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -10,7 +10,8 @@
 import org.dive4elements.artifacts.ArtifactDatabase;
 import org.dive4elements.artifacts.ArtifactDatabaseException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.data.MediaType;
 import org.restlet.data.Status;
@@ -33,7 +34,7 @@
 {
    /** The logger that is used in this class.*/
     private static Logger logger =
-        Logger.getLogger(ListCollectionsResource.class);
+        LogManager.getLogger(ListCollectionsResource.class);
 
     /** server URL where to reach the resource.*/
     public static final String PATH = "/list-collections/{ownerid}";
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ListUsersResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ListUsersResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -10,7 +10,8 @@
 import org.dive4elements.artifacts.ArtifactDatabase;
 import org.dive4elements.artifacts.ArtifactDatabaseException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.data.MediaType;
 import org.restlet.data.Status;
@@ -29,7 +30,7 @@
 extends      BaseResource
 {
     /** The logger that is used in this class.*/
-    private static Logger logger = Logger.getLogger(ListUsersResource.class);
+    private static Logger logger = LogManager.getLogger(ListUsersResource.class);
 
     /** server URL where to reach the resource.*/
     public static final String PATH = "/list-users";
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ServiceResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ServiceResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -13,7 +13,8 @@
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.Request;
 import org.restlet.Response;
@@ -37,7 +38,7 @@
 public class ServiceResource
 extends      BaseResource
 {
-    private static Logger logger = Logger.getLogger(ServiceResource.class);
+    private static Logger logger = LogManager.getLogger(ServiceResource.class);
 
     /**
      * server URL where to reach the resource.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ServicesResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/ServicesResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -14,7 +14,8 @@
 import org.dive4elements.artifacts.ArtifactDatabase;
 import org.dive4elements.artifacts.ArtifactNamespaceContext;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.data.MediaType;
 
@@ -35,7 +36,7 @@
 public class ServicesResource
 extends      BaseResource
 {
-    private static Logger logger = Logger.getLogger(ServicesResource.class);
+    private static Logger logger = LogManager.getLogger(ServicesResource.class);
 
     /**
      * server URL where to reach the resource.
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/Standalone.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/Standalone.java	Mon Feb 28 17:41:14 2022 +0100
@@ -12,7 +12,8 @@
 
 import org.dive4elements.artifacts.ArtifactDatabase;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.Component;
 import org.restlet.Server;
@@ -31,7 +32,7 @@
 public class Standalone
 implements   HTTPServer
 {
-    private static Logger logger = Logger.getLogger(Standalone.class);
+    private static Logger logger = LogManager.getLogger(Standalone.class);
 
     /**
      * XPath to figure out the port where to listen from the
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/UserResource.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/rest/UserResource.java	Mon Feb 28 17:41:14 2022 +0100
@@ -15,7 +15,8 @@
 
 import java.io.IOException;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.restlet.data.MediaType;
 import org.restlet.data.Status;
@@ -36,7 +37,7 @@
 extends      BaseResource
 {
     /** The logger that is used in this class. */
-    private static Logger logger = Logger.getLogger(UserResource.class);
+    private static Logger logger = LogManager.getLogger(UserResource.class);
 
     /** server URL where to reach the resource. */
     public static final String PATH = "/user/{uuid}";
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/state/AbstractState.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/state/AbstractState.java	Mon Feb 28 17:41:14 2022 +0100
@@ -14,7 +14,8 @@
 
 import javax.xml.xpath.XPathConstants;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -64,7 +65,7 @@
 
 
     /** The logger that is used in this class. */
-    private static Logger logger = Logger.getLogger(AbstractState.class);
+    private static Logger logger = LogManager.getLogger(AbstractState.class);
 
 
     /** The ID of the state. */
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/state/FacetActivity.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/state/FacetActivity.java	Mon Feb 28 17:41:14 2022 +0100
@@ -7,7 +7,8 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 
 /**
@@ -50,7 +51,7 @@
     public static final class Registry {
 
         /** The logger for this class. */
-        private static Logger logger = Logger.getLogger(Registry.class);
+        private static Logger logger = LogManager.getLogger(Registry.class);
 
         /** Singleton instance. */
         private static final Registry INSTANCE = new Registry();
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/state/StateEngine.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/state/StateEngine.java	Mon Feb 28 17:41:14 2022 +0100
@@ -5,7 +5,8 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.dive4elements.artifactdatabase.data.StateData;
 
@@ -19,7 +20,7 @@
 public class StateEngine {
 
     /** The logger used in this class. */
-    private static Logger logger = Logger.getLogger(StateEngine.class);
+    private static Logger logger = LogManager.getLogger(StateEngine.class);
 
     /**
      * A map that contains the states of the artifacts. The key of this map is
--- a/artifact-database/src/main/java/org/dive4elements/artifactdatabase/transition/TransitionEngine.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifact-database/src/main/java/org/dive4elements/artifactdatabase/transition/TransitionEngine.java	Mon Feb 28 17:41:14 2022 +0100
@@ -9,7 +9,8 @@
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.dive4elements.artifacts.Artifact;
 
@@ -27,7 +28,7 @@
 public class TransitionEngine {
 
     /** The logger used in this class. */
-    private static Logger logger = Logger.getLogger(TransitionEngine.class);
+    private static Logger logger = LogManager.getLogger(TransitionEngine.class);
 
     /**
      * A map that contains the transitions of the artifacts. The key is the name
--- a/artifacts-common/pom.xml	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifacts-common/pom.xml	Mon Feb 28 17:41:14 2022 +0100
@@ -22,9 +22,15 @@
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
-      <version>1.2.17</version>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-api</artifactId>
+      <version>2.17.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.logging.log4j</groupId>
+      <artifactId>log4j-core</artifactId>
+      <version>2.17.1</version>
+      <scope>runtime</scope>
     </dependency>
     <dependency>
       <groupId>commons-codec</groupId>
--- a/artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/Config.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/Config.java	Mon Feb 28 17:41:14 2022 +0100
@@ -18,7 +18,8 @@
 
 import javax.xml.xpath.XPathConstants;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
@@ -35,7 +36,7 @@
  */
 public final class Config
 {
-    private static Logger logger = Logger.getLogger(Config.class);
+    private static Logger logger = LogManager.getLogger(Config.class);
 
     /**
      * System property name where to find the configuration directory.
--- a/artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/FileTools.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/FileTools.java	Mon Feb 28 17:41:14 2022 +0100
@@ -29,14 +29,15 @@
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 
 public class FileTools
 {
-    private static Logger log = Logger.getLogger(FileTools.class);
+    private static Logger log = LogManager.getLogger(FileTools.class);
 
     public static final String DIGEST =
         System.getProperty("artifacts.common.file.cmp.digest", "MD5");
--- a/artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/StringUtils.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/StringUtils.java	Mon Feb 28 17:41:14 2022 +0100
@@ -16,7 +16,8 @@
 
 import org.apache.commons.codec.binary.Hex;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 /**
  * Commonly used string functions.
@@ -25,7 +26,7 @@
  */
 public final class StringUtils
 {
-    private static Logger logger = Logger.getLogger(StringUtils.class);
+    private static Logger logger = LogManager.getLogger(StringUtils.class);
 
     /**
      * Generated a random UUIDv4 in form of a string.
--- a/artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/XMLUtils.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/XMLUtils.java	Mon Feb 28 17:41:14 2022 +0100
@@ -49,7 +49,8 @@
 import javax.xml.xpath.XPathFactory;
 import javax.xml.xpath.XPathVariableResolver;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Attr;
 import org.w3c.dom.Document;
@@ -75,7 +76,7 @@
     public static final String XFORM_PREFIX = "xform";
 
     /** Logger for this class. */
-    private static Logger logger = Logger.getLogger(XMLUtils.class);
+    private static Logger logger = LogManager.getLogger(XMLUtils.class);
 
     private XMLUtils() {
     }
--- a/artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/XSLTransformer.java	Fri Feb 25 16:58:11 2022 +0100
+++ b/artifacts-common/src/main/java/org/dive4elements/artifacts/common/utils/XSLTransformer.java	Mon Feb 28 17:41:14 2022 +0100
@@ -17,13 +17,14 @@
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
 
 import org.w3c.dom.Node;
 
 public class XSLTransformer {
 
-    private static Logger log = Logger.getLogger(XSLTransformer.class);
+    private static Logger log = LogManager.getLogger(XSLTransformer.class);
 
     protected Map<String, Object> parameters;
 

http://dive4elements.wald.intevation.org