Merge branch 'master' of github.com:apache/ignite-extensions into IGNITE-17399__cdc_expiration
diff --git a/modules/aop-ext/modules/core/src/test/config/log4j-test.xml b/modules/aop-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100644
index cc2146e..0000000
--- a/modules/aop-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.out"/>
-        <param name="Threshold" value="DEBUG"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.err"/>
-
-        <param name="Threshold" value="WARN"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <root>
-        <level value="INFO"/>
-
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/aop-ext/modules/core/src/test/config/log4j2-test.xml b/modules/aop-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..0bf9cf5
--- /dev/null
+++ b/modules/aop-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+    </Appenders>
+
+    <Loggers>
+        <Logger name="org" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/aop-ext/pom.xml b/modules/aop-ext/pom.xml
index 84b2194..5fb1e38 100644
--- a/modules/aop-ext/pom.xml
+++ b/modules/aop-ext/pom.xml
@@ -80,7 +80,7 @@
 
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/aop-ext/src/test/java/org/apache/loadtests/direct/singlesplit/SingleSplitsLoadTest.java b/modules/aop-ext/src/test/java/org/apache/loadtests/direct/singlesplit/SingleSplitsLoadTest.java
index b6d4de9..a0b863d 100644
--- a/modules/aop-ext/src/test/java/org/apache/loadtests/direct/singlesplit/SingleSplitsLoadTest.java
+++ b/modules/aop-ext/src/test/java/org/apache/loadtests/direct/singlesplit/SingleSplitsLoadTest.java
@@ -23,17 +23,18 @@
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.internal.util.typedef.G;
 import org.apache.ignite.loadtests.GridLoadTestStatistics;
-import org.apache.ignite.logger.log4j.Log4JLogger;
 import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
 import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
 import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.config.GridTestProperties;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.apache.ignite.testframework.junits.common.GridCommonTest;
-import org.apache.log4j.Level;
+import org.apache.logging.log4j.core.config.Configurator;
 import org.junit.Ignore;
 import org.junit.Test;
 
+import static org.apache.logging.log4j.Level.INFO;
+
 /**
  * Single split load test.
  */
@@ -53,9 +54,7 @@
         cfg.setCommunicationSpi(new TcpCommunicationSpi());
         cfg.setDiscoverySpi(new TcpDiscoverySpi());
 
-        Log4JLogger log = (Log4JLogger)cfg.getGridLogger().getLogger(null);
-
-        log.setLevel(Level.INFO);
+        Configurator.setRootLevel(INFO);
 
         return cfg;
     }
diff --git a/modules/aop-ext/src/test/java/org/apache/loadtests/gridify/GridifySingleSplitLoadTest.java b/modules/aop-ext/src/test/java/org/apache/loadtests/gridify/GridifySingleSplitLoadTest.java
index f8d0499..93a264b 100644
--- a/modules/aop-ext/src/test/java/org/apache/loadtests/gridify/GridifySingleSplitLoadTest.java
+++ b/modules/aop-ext/src/test/java/org/apache/loadtests/gridify/GridifySingleSplitLoadTest.java
@@ -21,7 +21,6 @@
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.internal.util.typedef.G;
 import org.apache.ignite.loadtests.GridLoadTestStatistics;
-import org.apache.ignite.logger.log4j.Log4JLogger;
 import org.apache.ignite.spi.communication.CommunicationSpi;
 import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
 import org.apache.ignite.spi.discovery.DiscoverySpi;
@@ -30,10 +29,12 @@
 import org.apache.ignite.testframework.config.GridTestProperties;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.apache.ignite.testframework.junits.common.GridCommonTest;
-import org.apache.log4j.Level;
+import org.apache.logging.log4j.core.config.Configurator;
 import org.junit.Ignore;
 import org.junit.Test;
 
+import static org.apache.logging.log4j.Level.INFO;
+
 /**
  * Gridify single split load test.
  */
@@ -67,12 +68,8 @@
         DiscoverySpi discoSpi = new TcpDiscoverySpi();
 
         cfg.setDiscoverySpi(discoSpi);
-        /*
-         */
-        @SuppressWarnings("TypeMayBeWeakened")
-        Log4JLogger log = (Log4JLogger)cfg.getGridLogger();
 
-        log.getLogger("org.apache.ignite").setLevel(Level.INFO);
+        Configurator.setLevel("org.apache.ignite", INFO);
 
         return cfg;
     }
diff --git a/modules/aws-ext/modules/core/src/test/config/log4j-test.xml b/modules/aws-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100644
index cc2146e..0000000
--- a/modules/aws-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.out"/>
-        <param name="Threshold" value="DEBUG"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.err"/>
-
-        <param name="Threshold" value="WARN"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <root>
-        <level value="INFO"/>
-
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/aws-ext/modules/core/src/test/config/log4j2-test.xml b/modules/aws-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..0bf9cf5
--- /dev/null
+++ b/modules/aws-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+    </Appenders>
+
+    <Loggers>
+        <Logger name="org" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/aws-ext/pom.xml b/modules/aws-ext/pom.xml
index 5f3a34a..ac79f5a 100644
--- a/modules/aws-ext/pom.xml
+++ b/modules/aws-ext/pom.xml
@@ -181,8 +181,8 @@
         </dependency>
 
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/azure-ext/modules/core/src/test/config/log4j-test.xml b/modules/azure-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100644
index cc2146e..0000000
--- a/modules/azure-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.out"/>
-        <param name="Threshold" value="DEBUG"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.err"/>
-
-        <param name="Threshold" value="WARN"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <root>
-        <level value="INFO"/>
-
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/azure-ext/modules/core/src/test/config/log4j2-test.xml b/modules/azure-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..0bf9cf5
--- /dev/null
+++ b/modules/azure-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+    </Appenders>
+
+    <Loggers>
+        <Logger name="org" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/azure-ext/pom.xml b/modules/azure-ext/pom.xml
index e583b66..6e3fc43 100644
--- a/modules/azure-ext/pom.xml
+++ b/modules/azure-ext/pom.xml
@@ -350,8 +350,8 @@
         </dependency>
 
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/camel-ext/modules/core/src/test/config/log4j-test.xml b/modules/camel-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index b78fa9c..0000000
--- a/modules/camel-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/camel-ext/modules/core/src/test/config/log4j2-test.xml b/modules/camel-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/camel-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/camel-ext/pom.xml b/modules/camel-ext/pom.xml
index bf03023..4642332 100644
--- a/modules/camel-ext/pom.xml
+++ b/modules/camel-ext/pom.xml
@@ -55,7 +55,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/cdc-ext/modules/core/src/test/config/log4j-test.xml b/modules/cdc-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100644
index cc2146e..0000000
--- a/modules/cdc-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.out"/>
-        <param name="Threshold" value="DEBUG"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.err"/>
-
-        <param name="Threshold" value="WARN"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <root>
-        <level value="INFO"/>
-
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/cdc-ext/modules/core/src/test/config/log4j2-test.xml b/modules/cdc-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..0bf9cf5
--- /dev/null
+++ b/modules/cdc-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+    </Appenders>
+
+    <Loggers>
+        <Logger name="org" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/cdc-ext/pom.xml b/modules/cdc-ext/pom.xml
index 45fc4fb..707e1f6 100644
--- a/modules/cdc-ext/pom.xml
+++ b/modules/cdc-ext/pom.xml
@@ -47,7 +47,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/cloud-ext/modules/core/src/test/config/log4j-test.xml b/modules/cloud-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100644
index cc2146e..0000000
--- a/modules/cloud-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.out"/>
-        <param name="Threshold" value="DEBUG"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.err"/>
-
-        <param name="Threshold" value="WARN"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <root>
-        <level value="INFO"/>
-
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/cloud-ext/modules/core/src/test/config/log4j2-test.xml b/modules/cloud-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..0bf9cf5
--- /dev/null
+++ b/modules/cloud-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+    </Appenders>
+
+    <Loggers>
+        <Logger name="org" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/cloud-ext/pom.xml b/modules/cloud-ext/pom.xml
index 8006223..69b160b 100644
--- a/modules/cloud-ext/pom.xml
+++ b/modules/cloud-ext/pom.xml
@@ -82,8 +82,8 @@
         </dependency>
 
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/flink-ext/pom.xml b/modules/flink-ext/pom.xml
index f3264ed..72ec87d 100644
--- a/modules/flink-ext/pom.xml
+++ b/modules/flink-ext/pom.xml
@@ -85,6 +85,12 @@
             <artifactId>flink-test-utils_2.11</artifactId>
             <version>${flink.version}</version>
             <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
@@ -96,7 +102,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <version>${ignite.version}</version>
             <scope>test</scope>
         </dependency>
diff --git a/modules/flume-ext/modules/core/src/test/config/log4j-test.xml b/modules/flume-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index 370a50a..0000000
--- a/modules/flume-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Uncomment to enable Ignite query execution debugging.
-    -->
-    <!--
-    <category name="org.apache.ignite.internal.processors.query">
-        <level value="DEBUG"/>
-    </category>
-    -->
-
-    <!--
-        Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
-    -->
-    <!--
-         <category name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader">
-             <level value="DEBUG"/>
-         </category>
-
-        <category name="org.apache.ignite.internal.processors.cache.distributed.dht.topology">
-            <level value="DEBUG"/>
-        </category>
-    -->
-
-    <!--
-        Uncomment to enable debugging of partition counters.
-    -->
-    <!--
-        <category name="org.apache.ignite.internal.processors.cache.PartitionTxUpdateCounterDebugWrapper">
-            <level value="DEBUG"/>
-        </category>
-    -->
-
-    <!--
-        Uncomment to enable transactions debugging.
-    -->
-    <!--
-         <category name="org.apache.ignite.cache.msg.tx.prepare">
-             <level value="DEBUG"/>
-         </category>
-
-         <category name="org.apache.ignite.cache.msg.tx.finish">
-             <level value="DEBUG"/>
-         </category>
-
-         <category name="org.apache.ignite.cache.msg.tx.recovery">
-             <level value="DEBUG"/>
-         </category>
-    -->
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/flume-ext/modules/core/src/test/config/log4j2-test.xml b/modules/flume-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/flume-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/flume-ext/pom.xml b/modules/flume-ext/pom.xml
index aa50411..57aac0f 100644
--- a/modules/flume-ext/pom.xml
+++ b/modules/flume-ext/pom.xml
@@ -52,6 +52,14 @@
             <scope>provided</scope>
             <exclusions>
                 <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+                <exclusion>
                     <groupId>commons-codec</groupId>
                     <artifactId>commons-codec</artifactId>
                 </exclusion>
@@ -65,8 +73,8 @@
         </dependency>
 
         <dependency>
-            <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-slf4j-impl</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/gce-ext/modules/core/src/test/config/log4j-test.xml b/modules/gce-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100644
index cc2146e..0000000
--- a/modules/gce-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.out"/>
-        <param name="Threshold" value="DEBUG"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.err"/>
-
-        <param name="Threshold" value="WARN"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <root>
-        <level value="INFO"/>
-
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/gce-ext/modules/core/src/test/config/log4j2-test.xml b/modules/gce-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..0bf9cf5
--- /dev/null
+++ b/modules/gce-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+    </Appenders>
+
+    <Loggers>
+        <Logger name="org" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/gce-ext/pom.xml b/modules/gce-ext/pom.xml
index 7184cae..a84bc3a 100644
--- a/modules/gce-ext/pom.xml
+++ b/modules/gce-ext/pom.xml
@@ -83,8 +83,8 @@
         </dependency>
 
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/geospatial-ext/examples/modules/core/src/test/config/log4j-test.xml b/modules/geospatial-ext/examples/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index b78fa9c..0000000
--- a/modules/geospatial-ext/examples/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/geospatial-ext/examples/modules/core/src/test/config/log4j2-test.xml b/modules/geospatial-ext/examples/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/geospatial-ext/examples/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/geospatial-ext/examples/pom-standalone-lgpl.xml b/modules/geospatial-ext/examples/pom-standalone-lgpl.xml
index f019d70..c4ebb3d 100644
--- a/modules/geospatial-ext/examples/pom-standalone-lgpl.xml
+++ b/modules/geospatial-ext/examples/pom-standalone-lgpl.xml
@@ -60,7 +60,7 @@
 
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <version>to_be_replaced_by_ignite_version</version>
         </dependency>
 
diff --git a/modules/geospatial-ext/examples/pom.xml b/modules/geospatial-ext/examples/pom.xml
index e1a2740..01a9d5c 100644
--- a/modules/geospatial-ext/examples/pom.xml
+++ b/modules/geospatial-ext/examples/pom.xml
@@ -71,7 +71,7 @@
 
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
         </dependency>
 
         <dependency>
diff --git a/modules/geospatial-ext/geospatial/modules/core/src/test/config/log4j-test.xml b/modules/geospatial-ext/geospatial/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index b78fa9c..0000000
--- a/modules/geospatial-ext/geospatial/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/geospatial-ext/geospatial/modules/core/src/test/config/log4j2-test.xml b/modules/geospatial-ext/geospatial/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/geospatial-ext/geospatial/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/geospatial-ext/geospatial/pom.xml b/modules/geospatial-ext/geospatial/pom.xml
index f071166..cdcc11f 100644
--- a/modules/geospatial-ext/geospatial/pom.xml
+++ b/modules/geospatial-ext/geospatial/pom.xml
@@ -55,8 +55,8 @@
         </dependency>
 
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/hibernate-ext/examples/modules/core/src/test/config/log4j-test.xml b/modules/hibernate-ext/examples/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index b78fa9c..0000000
--- a/modules/hibernate-ext/examples/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/hibernate-ext/examples/modules/core/src/test/config/log4j2-test.xml b/modules/hibernate-ext/examples/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/hibernate-ext/examples/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/hibernate-ext/examples/pom-standalone-lgpl.xml b/modules/hibernate-ext/examples/pom-standalone-lgpl.xml
index 89b7ecf..a66092a 100644
--- a/modules/hibernate-ext/examples/pom-standalone-lgpl.xml
+++ b/modules/hibernate-ext/examples/pom-standalone-lgpl.xml
@@ -60,7 +60,7 @@
 
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <version>to_be_replaced_by_ignite_version</version>
         </dependency>
 
diff --git a/modules/hibernate-ext/examples/pom-standalone.xml b/modules/hibernate-ext/examples/pom-standalone.xml
index 1758fbb..a037dae 100644
--- a/modules/hibernate-ext/examples/pom-standalone.xml
+++ b/modules/hibernate-ext/examples/pom-standalone.xml
@@ -57,7 +57,7 @@
 
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <version>to_be_replaced_by_ignite_version</version>
         </dependency>
 
diff --git a/modules/hibernate-ext/examples/pom.xml b/modules/hibernate-ext/examples/pom.xml
index 299eb4b..2a2a38d 100644
--- a/modules/hibernate-ext/examples/pom.xml
+++ b/modules/hibernate-ext/examples/pom.xml
@@ -70,7 +70,7 @@
 
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
         </dependency>
 
         <dependency>
diff --git a/modules/hibernate-ext/hibernate/modules/core/src/test/config/log4j-test.xml b/modules/hibernate-ext/hibernate/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index b78fa9c..0000000
--- a/modules/hibernate-ext/hibernate/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/hibernate-ext/hibernate/modules/core/src/test/config/log4j2-test.xml b/modules/hibernate-ext/hibernate/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/hibernate-ext/hibernate/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/hibernate-ext/hibernate/pom.xml b/modules/hibernate-ext/hibernate/pom.xml
index f51ad27..a11399b 100644
--- a/modules/hibernate-ext/hibernate/pom.xml
+++ b/modules/hibernate-ext/hibernate/pom.xml
@@ -96,7 +96,7 @@
 
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/jms11-ext/modules/core/src/test/config/log4j-test.xml b/modules/jms11-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index b78fa9c..0000000
--- a/modules/jms11-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/jms11-ext/modules/core/src/test/config/log4j2-test.xml b/modules/jms11-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/jms11-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/jms11-ext/pom.xml b/modules/jms11-ext/pom.xml
index c291dd3..46c2f0a 100644
--- a/modules/jms11-ext/pom.xml
+++ b/modules/jms11-ext/pom.xml
@@ -64,7 +64,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/kafka-ext/modules/core/src/test/config/log4j-test.xml b/modules/kafka-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index b78fa9c..0000000
--- a/modules/kafka-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/kafka-ext/modules/core/src/test/config/log4j2-test.xml b/modules/kafka-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/kafka-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/kafka-ext/pom.xml b/modules/kafka-ext/pom.xml
index 9938bf9..f8b3062 100644
--- a/modules/kafka-ext/pom.xml
+++ b/modules/kafka-ext/pom.xml
@@ -69,12 +69,28 @@
             <artifactId>connect-runtime</artifactId>
             <version>${kafka.version}</version>
             <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
             <groupId>org.apache.zookeeper</groupId>
             <artifactId>zookeeper</artifactId>
             <version>${zookeeper.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+            </exclusions>
             <scope>test</scope>
         </dependency>
 
@@ -100,9 +116,8 @@
         </dependency>
 
         <dependency>
-            <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
-            <version>${ignite.version}</version>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-slf4j-impl</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/mqtt-ext/modules/core/src/test/config/log4j-test.xml b/modules/mqtt-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index b78fa9c..0000000
--- a/modules/mqtt-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/mqtt-ext/modules/core/src/test/config/log4j2-test.xml b/modules/mqtt-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/mqtt-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/mqtt-ext/pom.xml b/modules/mqtt-ext/pom.xml
index 0d9c2cd..8de15e4 100644
--- a/modules/mqtt-ext/pom.xml
+++ b/modules/mqtt-ext/pom.xml
@@ -76,7 +76,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/osgi-ext/osgi-karaf/src/main/resources/features.xml b/modules/osgi-ext/osgi-karaf/src/main/resources/features.xml
index 6cc0d31..d430fe7 100644
--- a/modules/osgi-ext/osgi-karaf/src/main/resources/features.xml
+++ b/modules/osgi-ext/osgi-karaf/src/main/resources/features.xml
@@ -22,12 +22,7 @@
         <details>
             <![CDATA[Aggregate feature for installing all Apache Ignite module + their dependencies.
             
-            NOTE #1: Due to a bug in Apache Karaf (KARAF-4129), you must install the ignite-log4j feature explicitly and then either:
-            - manually refresh the pax-logging-api framework bundle  - or - 
-            - restart the Apache Karaf container.
-            You may safely ignore the 'Resource has no uri' exception if you follow this method.
-
-            NOTE #2: This feature *does not* include components that depend on LGPL software.]]>
+            NOTE #1: This feature *does not* include components that depend on LGPL software.]]>
         </details>
         <feature>ignite-core</feature>
         <feature>ignite-camel-ext</feature>
@@ -38,8 +33,6 @@
         <feature>ignite-jta</feature>
         <feature>ignite-kafka-ext</feature>
         <feature>ignite-mqtt-ext</feature>
-        <!-- KARAF-4129 Karaf feature containing a fragment that attaches to pax-logging-api cannot be installed
-        <feature>ignite-log4j</feature>-->
         <feature>ignite-rest-http</feature>
         <feature>ignite-schedule</feature>
         <feature>ignite-slf4j</feature>
diff --git a/modules/performance-statistics-ext/pom.xml b/modules/performance-statistics-ext/pom.xml
index 9882b4a..41b9425 100644
--- a/modules/performance-statistics-ext/pom.xml
+++ b/modules/performance-statistics-ext/pom.xml
@@ -92,7 +92,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/modules/pub-sub-ext/pom.xml b/modules/pub-sub-ext/pom.xml
index d2a3890..7591a86 100644
--- a/modules/pub-sub-ext/pom.xml
+++ b/modules/pub-sub-ext/pom.xml
@@ -69,7 +69,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/rocketmq-ext/modules/core/src/test/config/log4j-test.xml b/modules/rocketmq-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index b78fa9c..0000000
--- a/modules/rocketmq-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/rocketmq-ext/modules/core/src/test/config/log4j2-test.xml b/modules/rocketmq-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/rocketmq-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/rocketmq-ext/pom.xml b/modules/rocketmq-ext/pom.xml
index bde2028..0e2e80a 100644
--- a/modules/rocketmq-ext/pom.xml
+++ b/modules/rocketmq-ext/pom.xml
@@ -88,7 +88,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git a/modules/spark-ext/examples/modules/core/src/test/config/log4j-test.xml b/modules/spark-ext/examples/modules/core/src/test/config/log4j-test.xml
deleted file mode 100644
index cc2146e..0000000
--- a/modules/spark-ext/examples/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.out"/>
-        <param name="Threshold" value="DEBUG"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.err"/>
-
-        <param name="Threshold" value="WARN"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <root>
-        <level value="INFO"/>
-
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/spark-ext/examples/modules/core/src/test/config/log4j2-test.xml b/modules/spark-ext/examples/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..0bf9cf5
--- /dev/null
+++ b/modules/spark-ext/examples/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+    </Appenders>
+
+    <Loggers>
+        <Logger name="org" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteCatalogExample.scala b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteCatalogExample.scala
index 92796b8..a707d0a 100644
--- a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteCatalogExample.scala
+++ b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteCatalogExample.scala
@@ -22,7 +22,8 @@
 import org.apache.ignite.cache.query.SqlFieldsQuery
 import org.apache.ignite.configuration.CacheConfiguration
 import org.apache.ignite.{Ignite, Ignition}
-import org.apache.log4j.{Level, Logger}
+import org.apache.logging.log4j.core.config.Configurator
+import org.apache.logging.log4j.Level
 import org.apache.spark.sql.ignite.IgniteSparkSession
 
 /**
@@ -53,8 +54,8 @@
             .getOrCreate()
 
         //Adjust the logger to exclude the logs of no interest.
-        Logger.getRootLogger.setLevel(Level.ERROR)
-        Logger.getLogger("org.apache.ignite").setLevel(Level.INFO)
+        Configurator.setRootLevel(Level.ERROR)
+        Configurator.setLevel("org.apache.ignite", Level.INFO)
 
         println("List of available tables:")
 
diff --git a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteDataFrameExample.scala b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteDataFrameExample.scala
index 1fae18c..21bfe90 100644
--- a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteDataFrameExample.scala
+++ b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteDataFrameExample.scala
@@ -22,7 +22,8 @@
 import org.apache.ignite.cache.query.SqlFieldsQuery
 import org.apache.ignite.configuration.CacheConfiguration
 import org.apache.ignite.{Ignite, Ignition}
-import org.apache.log4j.{Level, Logger}
+import org.apache.logging.log4j.Level
+import org.apache.logging.log4j.core.config.Configurator
 import org.apache.spark.sql.SparkSession
 import org.apache.spark.sql.functions._
 import org.apache.ignite.spark.IgniteDataFrameSettings._
@@ -53,8 +54,8 @@
             .getOrCreate()
 
         // Adjust the logger to exclude the logs of no interest.
-        Logger.getRootLogger.setLevel(Level.ERROR)
-        Logger.getLogger("org.apache.ignite").setLevel(Level.INFO)
+        Configurator.setRootLevel(Level.ERROR)
+        Configurator.setLevel("org.apache.ignite", Level.INFO)
 
         // Executing examples.
 
diff --git a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteDataFrameJoinExample.scala b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteDataFrameJoinExample.scala
index 32aa4ea..0d3d780 100644
--- a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteDataFrameJoinExample.scala
+++ b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteDataFrameJoinExample.scala
@@ -23,7 +23,8 @@
 import org.apache.ignite.configuration.CacheConfiguration
 import org.apache.ignite.spark.IgniteDataFrameSettings._
 import org.apache.ignite.{Ignite, Ignition}
-import org.apache.log4j.{Level, Logger}
+import org.apache.logging.log4j.Level
+import org.apache.logging.log4j.core.config.Configurator
 import org.apache.spark.sql.SparkSession
 
 /**
@@ -48,8 +49,8 @@
             .getOrCreate()
 
         // Adjust the logger to exclude the logs of no interest.
-        Logger.getRootLogger.setLevel(Level.ERROR)
-        Logger.getLogger("org.apache.ignite").setLevel(Level.INFO)
+        Configurator.setRootLevel(Level.ERROR)
+        Configurator.setLevel("org.apache.ignite", Level.INFO)
 
         // Executing examples.
         sparkDSLJoinExample
diff --git a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteDataFrameWriteExample.scala b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteDataFrameWriteExample.scala
index a77466f..bc3e536 100644
--- a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteDataFrameWriteExample.scala
+++ b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/IgniteDataFrameWriteExample.scala
@@ -22,9 +22,10 @@
 import org.apache.ignite.configuration.CacheConfiguration
 import org.apache.ignite.internal.util.IgniteUtils.gridClassLoader
 import org.apache.ignite.{Ignite, Ignition}
-import org.apache.log4j.{Level, Logger}
 import org.apache.spark.sql.{SaveMode, SparkSession}
 import org.apache.ignite.spark.IgniteDataFrameSettings._
+import org.apache.logging.log4j.Level
+import org.apache.logging.log4j.core.config.Configurator
 import org.apache.spark.sql.functions._
 
 import scala.collection.JavaConversions._
@@ -55,8 +56,8 @@
             .getOrCreate()
 
         // Adjust the logger to exclude the logs of no interest.
-        Logger.getRootLogger.setLevel(Level.INFO)
-        Logger.getLogger("org.apache.ignite").setLevel(Level.INFO)
+        Configurator.setRootLevel(Level.INFO)
+        Configurator.setLevel("org.apache.ignite", Level.INFO)
 
         // Executing examples.
         println("Example of writing json file to Ignite:")
diff --git a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteCatalogExample.java b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteCatalogExample.java
index fb5f68c..e04ea0a 100644
--- a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteCatalogExample.java
+++ b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteCatalogExample.java
@@ -22,8 +22,8 @@
 import org.apache.ignite.Ignition;
 import org.apache.ignite.cache.query.SqlFieldsQuery;
 import org.apache.ignite.configuration.CacheConfiguration;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.core.config.Configurator;
 import org.apache.spark.sql.AnalysisException;
 import org.apache.spark.sql.Dataset;
 import org.apache.spark.sql.Row;
@@ -59,8 +59,8 @@
                 .getOrCreate();
 
         //Adjust the logger to exclude the logs of no interest.
-        Logger.getRootLogger().setLevel(Level.ERROR);
-        Logger.getLogger("org.apache.ignite").setLevel(Level.INFO);
+        Configurator.setRootLevel(Level.ERROR);
+        Configurator.setLevel("org.apache.ignite", Level.INFO);
 
         System.out.println("List of available tables:");
 
diff --git a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteDataFrameExample.java b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteDataFrameExample.java
index e95b98a..93fec36 100644
--- a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteDataFrameExample.java
+++ b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteDataFrameExample.java
@@ -23,8 +23,8 @@
 import org.apache.ignite.cache.query.SqlFieldsQuery;
 import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.spark.IgniteDataFrameSettings;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.core.config.Configurator;
 import org.apache.spark.sql.Dataset;
 import org.apache.spark.sql.Row;
 import org.apache.spark.sql.SparkSession;
@@ -59,8 +59,8 @@
                 .getOrCreate();
 
         // Adjust the logger to exclude the logs of no interest.
-        Logger.getRootLogger().setLevel(Level.ERROR);
-        Logger.getLogger("org.apache.ignite").setLevel(Level.INFO);
+        Configurator.setRootLevel(Level.ERROR);
+        Configurator.setLevel("org.apache.ignite", Level.INFO);
 
         // Executing examples.
 
diff --git a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteDataFrameJoinExample.java b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteDataFrameJoinExample.java
index ec160fd..8f82eda 100644
--- a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteDataFrameJoinExample.java
+++ b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteDataFrameJoinExample.java
@@ -23,8 +23,8 @@
 import org.apache.ignite.cache.query.SqlFieldsQuery;
 import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.spark.IgniteDataFrameSettings;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.core.config.Configurator;
 import org.apache.spark.sql.Dataset;
 import org.apache.spark.sql.Row;
 import org.apache.spark.sql.SparkSession;
@@ -53,8 +53,8 @@
                 .getOrCreate();
 
         // Adjust the logger to exclude the logs of no interest.
-        Logger.getRootLogger().setLevel(Level.ERROR);
-        Logger.getLogger("org.apache.ignite").setLevel(Level.INFO);
+        Configurator.setRootLevel(Level.ERROR);
+        Configurator.setLevel("org.apache.ignite", Level.INFO);
 
         // Executing examples.
         sparkDSLJoinExample(spark);
diff --git a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteDataFrameWriteExample.java b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteDataFrameWriteExample.java
index db03eff..4cf77a9 100644
--- a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteDataFrameWriteExample.java
+++ b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/JavaIgniteDataFrameWriteExample.java
@@ -24,8 +24,8 @@
 import org.apache.ignite.cache.query.SqlFieldsQuery;
 import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.spark.IgniteDataFrameSettings;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.core.config.Configurator;
 import org.apache.spark.sql.Dataset;
 import org.apache.spark.sql.Row;
 import org.apache.spark.sql.SaveMode;
@@ -66,8 +66,8 @@
                 .getOrCreate();
 
         // Adjust the logger to exclude the logs of no interest.
-        Logger.getRootLogger().setLevel(Level.ERROR);
-        Logger.getLogger("org.apache.ignite").setLevel(Level.INFO);
+        Configurator.setRootLevel(Level.ERROR);
+        Configurator.setLevel("org.apache.ignite", Level.INFO);
 
         // Executing examples.
         System.out.println("Example of writing json file to Ignite:");
diff --git a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/SharedRDDExample.java b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/SharedRDDExample.java
index 57f2710..d7db573 100644
--- a/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/SharedRDDExample.java
+++ b/modules/spark-ext/examples/src/main/java/org/apache/ignite/examples/spark/SharedRDDExample.java
@@ -21,8 +21,8 @@
 import java.util.List;
 import org.apache.ignite.spark.JavaIgniteContext;
 import org.apache.ignite.spark.JavaIgniteRDD;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.core.config.Configurator;
 import org.apache.spark.SparkConf;
 import org.apache.spark.api.java.JavaPairRDD;
 import org.apache.spark.api.java.JavaRDD;
@@ -59,8 +59,8 @@
         JavaSparkContext sparkContext = new JavaSparkContext(sparkConf);
 
         // Adjust the logger to exclude the logs of no interest.
-        Logger.getRootLogger().setLevel(Level.ERROR);
-        Logger.getLogger("org.apache.ignite").setLevel(Level.INFO);
+        Configurator.setRootLevel(Level.ERROR);
+        Configurator.setLevel("org.apache.ignite", Level.INFO);
 
         // Creates Ignite context with specific configuration and runs Ignite in the embedded mode.
         JavaIgniteContext<Integer, Integer> igniteContext = new JavaIgniteContext<Integer, Integer>(
diff --git a/modules/spark-ext/pom.xml b/modules/spark-ext/pom.xml
index 269c5af..5f60337 100644
--- a/modules/spark-ext/pom.xml
+++ b/modules/spark-ext/pom.xml
@@ -36,7 +36,7 @@
     <properties>
         <spark.version>2.4.4</spark.version>
         <scala.library.version>2.11.12</scala.library.version>
-        <spark.hadoop.version>2.6.5</spark.hadoop.version>
+        <spark.hadoop.version>3.3.3</spark.hadoop.version>
         <spark.janino.version>3.0.8</spark.janino.version>
         <spark.jackson.version>2.6.7</spark.jackson.version>
         <scala.test.version>2.2.6</scala.test.version>
diff --git a/modules/spark-ext/spark/modules/core/src/test/config/log4j-test.xml b/modules/spark-ext/spark/modules/core/src/test/config/log4j-test.xml
deleted file mode 100644
index cc2146e..0000000
--- a/modules/spark-ext/spark/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.out"/>
-        <param name="Threshold" value="DEBUG"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.err"/>
-
-        <param name="Threshold" value="WARN"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <root>
-        <level value="INFO"/>
-
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/spark-ext/spark/modules/core/src/test/config/log4j2-test.xml b/modules/spark-ext/spark/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..0bf9cf5
--- /dev/null
+++ b/modules/spark-ext/spark/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+    </Appenders>
+
+    <Loggers>
+        <Logger name="org" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/spark-ext/spark/pom.xml b/modules/spark-ext/spark/pom.xml
index 2541a6a..3d43aa0 100644
--- a/modules/spark-ext/spark/pom.xml
+++ b/modules/spark-ext/spark/pom.xml
@@ -63,6 +63,16 @@
             <groupId>org.apache.spark</groupId>
             <artifactId>spark-core_2.11</artifactId>
             <version>${spark.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
@@ -138,8 +148,13 @@
         </dependency>
 
         <dependency>
-            <groupId>${project.groupId}</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-slf4j-impl</artifactId>
         </dependency>
 
         <!-- Test dependencies -->
diff --git a/modules/spark-ext/spark/src/main/scala/org/apache/ignite/spark/IgniteContext.scala b/modules/spark-ext/spark/src/main/scala/org/apache/ignite/spark/IgniteContext.scala
index 4445df9..9aa97bd 100644
--- a/modules/spark-ext/spark/src/main/scala/org/apache/ignite/spark/IgniteContext.scala
+++ b/modules/spark-ext/spark/src/main/scala/org/apache/ignite/spark/IgniteContext.scala
@@ -24,7 +24,8 @@
 import org.apache.ignite.spark.IgniteContext.setIgniteHome
 import org.apache.spark.sql.SQLContext
 import org.apache.spark.SparkContext
-import org.apache.log4j.Logger
+import org.apache.logging.log4j.Logger
+import org.apache.logging.log4j.LogManager
 import org.apache.spark.scheduler.{SparkListener, SparkListenerApplicationEnd}
 
 /**
@@ -233,5 +234,5 @@
   * This object is used to avoid problems with log4j serialization.
   */
 object Logging extends Serializable {
-    @transient lazy val log = Logger.getLogger(classOf[IgniteContext])
+    @transient lazy val log = LogManager.getLogger(classOf[IgniteContext])
 }
diff --git a/modules/spring-boot-autoconfigure-ext/spring-boot-autoconfigure/pom.xml b/modules/spring-boot-autoconfigure-ext/spring-boot-autoconfigure/pom.xml
index b90af97..58b670c 100644
--- a/modules/spring-boot-autoconfigure-ext/spring-boot-autoconfigure/pom.xml
+++ b/modules/spring-boot-autoconfigure-ext/spring-boot-autoconfigure/pom.xml
@@ -79,7 +79,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/spring-boot-thin-client-autoconfigure-ext/spring-boot-thin-client-autoconfigure/pom.xml b/modules/spring-boot-thin-client-autoconfigure-ext/spring-boot-thin-client-autoconfigure/pom.xml
index 305cc02..9658517 100644
--- a/modules/spring-boot-thin-client-autoconfigure-ext/spring-boot-thin-client-autoconfigure/pom.xml
+++ b/modules/spring-boot-thin-client-autoconfigure-ext/spring-boot-thin-client-autoconfigure/pom.xml
@@ -80,7 +80,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/spring-cache-ext/modules/core/src/test/config/log4j2-test.xml b/modules/spring-cache-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/spring-cache-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/spring-cache-ext/pom.xml b/modules/spring-cache-ext/pom.xml
index 85c30c2..5130764 100644
--- a/modules/spring-cache-ext/pom.xml
+++ b/modules/spring-cache-ext/pom.xml
@@ -81,7 +81,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <version>${ignite.version}</version>
             <scope>test</scope>
         </dependency>
diff --git a/modules/spring-cache-ext/src/test/java/org/apache/ignite/cache/spring/IgniteSpringCacheCompatibilityTest.java b/modules/spring-cache-ext/src/test/java/org/apache/ignite/cache/spring/IgniteSpringCacheCompatibilityTest.java
index 81f0829..71e9de7 100644
--- a/modules/spring-cache-ext/src/test/java/org/apache/ignite/cache/spring/IgniteSpringCacheCompatibilityTest.java
+++ b/modules/spring-cache-ext/src/test/java/org/apache/ignite/cache/spring/IgniteSpringCacheCompatibilityTest.java
@@ -33,6 +33,7 @@
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.internal.util.GridJavaProcess;
 import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.lang.IgniteProductVersion;
 import org.jetbrains.annotations.NotNull;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -109,6 +110,9 @@
             res.add(new Dependency("spring-jdbc", "org.springframework", "spring-jdbc", springVer, false));
         }
 
+        if (IgniteProductVersion.fromString("2.14.0").compareTo(IgniteProductVersion.fromString(igniteVer)) > 0)
+            res.add(new Dependency("log4j", "log4j", "log4j", "1.2.17", false));
+
         return res;
     }
 
diff --git a/modules/spring-data-ext/spring-data/modules/core/src/test/config/log4j-test.xml b/modules/spring-data-ext/spring-data/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index 3061bd4..0000000
--- a/modules/spring-data-ext/spring-data/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="ignite/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/spring-data-ext/spring-data/modules/core/src/test/config/log4j2-test.xml b/modules/spring-data-ext/spring-data/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/spring-data-ext/spring-data/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/spring-data-ext/spring-data/pom.xml b/modules/spring-data-ext/spring-data/pom.xml
index 2647d8e..178847c 100644
--- a/modules/spring-data-ext/spring-data/pom.xml
+++ b/modules/spring-data-ext/spring-data/pom.xml
@@ -90,7 +90,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/spring-tx-ext/spring-tx/modules/core/src/test/config/log4j2-test.xml b/modules/spring-tx-ext/spring-tx/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/spring-tx-ext/spring-tx/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/spring-tx-ext/spring-tx/pom.xml b/modules/spring-tx-ext/spring-tx/pom.xml
index 073f0b9..b89f60e 100644
--- a/modules/spring-tx-ext/spring-tx/pom.xml
+++ b/modules/spring-tx-ext/spring-tx/pom.xml
@@ -75,7 +75,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/spring-tx-ext/spring-tx/src/test/java/org/apache/ignite/transactions/spring/IgniteSpringTransactionsCompatibilityTest.java b/modules/spring-tx-ext/spring-tx/src/test/java/org/apache/ignite/transactions/spring/IgniteSpringTransactionsCompatibilityTest.java
index 3ca2733..82e0e16 100644
--- a/modules/spring-tx-ext/spring-tx/src/test/java/org/apache/ignite/transactions/spring/IgniteSpringTransactionsCompatibilityTest.java
+++ b/modules/spring-tx-ext/spring-tx/src/test/java/org/apache/ignite/transactions/spring/IgniteSpringTransactionsCompatibilityTest.java
@@ -113,6 +113,9 @@
         if (IgniteProductVersion.fromString(igniteVer).compareTo(VER_2_11_0.version()) <= 0)
             res.add(new Dependency("spring-jdbc", "org.springframework", "spring-jdbc", springVer, false));
 
+        if (IgniteProductVersion.fromString("2.14.0").compareTo(IgniteProductVersion.fromString(igniteVer)) > 0)
+            res.add(new Dependency("log4j", "log4j", "log4j", "1.2.17", false));
+
         return res;
     }
 
diff --git a/modules/storm-ext/modules/core/src/test/config/log4j-test.xml b/modules/storm-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index b78fa9c..0000000
--- a/modules/storm-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/storm-ext/modules/core/src/test/config/log4j2-test.xml b/modules/storm-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/storm-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/storm-ext/pom.xml b/modules/storm-ext/pom.xml
index f3770dc..99cc9dd 100644
--- a/modules/storm-ext/pom.xml
+++ b/modules/storm-ext/pom.xml
@@ -87,7 +87,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>provided</scope>
         </dependency>
 
diff --git a/modules/topology-validator-ext/modules/core/src/test/config/log4j-test.xml b/modules/topology-validator-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100644
index 323c348..0000000
--- a/modules/topology-validator-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.out"/>
-        <param name="Threshold" value="DEBUG"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <param name="Target" value="System.err"/>
-
-        <param name="Threshold" value="WARN"/>
-
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <root>
-        <level value="INFO"/>
-
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/topology-validator-ext/modules/core/src/test/config/log4j2-test.xml b/modules/topology-validator-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..0bf9cf5
--- /dev/null
+++ b/modules/topology-validator-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+    </Appenders>
+
+    <Loggers>
+        <Logger name="org" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/topology-validator-ext/pom.xml b/modules/topology-validator-ext/pom.xml
index 872dd6f..7dd8058 100644
--- a/modules/topology-validator-ext/pom.xml
+++ b/modules/topology-validator-ext/pom.xml
@@ -50,7 +50,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>test</scope>
         </dependency>
 
diff --git a/modules/twitter-ext/modules/core/src/test/config/log4j-test.xml b/modules/twitter-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index 370a50a..0000000
--- a/modules/twitter-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Uncomment to enable Ignite query execution debugging.
-    -->
-    <!--
-    <category name="org.apache.ignite.internal.processors.query">
-        <level value="DEBUG"/>
-    </category>
-    -->
-
-    <!--
-        Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
-    -->
-    <!--
-         <category name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader">
-             <level value="DEBUG"/>
-         </category>
-
-        <category name="org.apache.ignite.internal.processors.cache.distributed.dht.topology">
-            <level value="DEBUG"/>
-        </category>
-    -->
-
-    <!--
-        Uncomment to enable debugging of partition counters.
-    -->
-    <!--
-        <category name="org.apache.ignite.internal.processors.cache.PartitionTxUpdateCounterDebugWrapper">
-            <level value="DEBUG"/>
-        </category>
-    -->
-
-    <!--
-        Uncomment to enable transactions debugging.
-    -->
-    <!--
-         <category name="org.apache.ignite.cache.msg.tx.prepare">
-             <level value="DEBUG"/>
-         </category>
-
-         <category name="org.apache.ignite.cache.msg.tx.finish">
-             <level value="DEBUG"/>
-         </category>
-
-         <category name="org.apache.ignite.cache.msg.tx.recovery">
-             <level value="DEBUG"/>
-         </category>
-    -->
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/twitter-ext/modules/core/src/test/config/log4j2-test.xml b/modules/twitter-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/twitter-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/twitter-ext/pom.xml b/modules/twitter-ext/pom.xml
index 1e72fd1..56e4b70 100644
--- a/modules/twitter-ext/pom.xml
+++ b/modules/twitter-ext/pom.xml
@@ -43,7 +43,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>provided</scope>
         </dependency>
 
diff --git a/modules/yarn-ext/pom.xml b/modules/yarn-ext/pom.xml
index 834ba83..0ccb49d 100644
--- a/modules/yarn-ext/pom.xml
+++ b/modules/yarn-ext/pom.xml
@@ -46,6 +46,10 @@
             <version>${hadoop-yarn.version}</version>
             <exclusions>
                 <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
+                <exclusion>
                     <groupId>commons-codec</groupId>
                     <artifactId>commons-codec</artifactId>
                 </exclusion>
@@ -58,6 +62,14 @@
             <version>${hadoop-yarn.version}</version>
             <exclusions>
                 <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+                <exclusion>
                     <groupId>commons-beanutils</groupId>
                     <artifactId>commons-beanutils</artifactId>
                 </exclusion>
@@ -73,6 +85,12 @@
         </dependency>
 
         <dependency>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-slf4j-impl</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
             <groupId>commons-collections</groupId>
             <artifactId>commons-collections</artifactId>
             <version>${commons.collections.version}</version>
diff --git a/modules/zeromq-ext/modules/core/src/test/config/log4j-test.xml b/modules/zeromq-ext/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index 370a50a..0000000
--- a/modules/zeromq-ext/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="${IGNITE_HOME}/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Uncomment to enable Ignite query execution debugging.
-    -->
-    <!--
-    <category name="org.apache.ignite.internal.processors.query">
-        <level value="DEBUG"/>
-    </category>
-    -->
-
-    <!--
-        Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
-    -->
-    <!--
-         <category name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader">
-             <level value="DEBUG"/>
-         </category>
-
-        <category name="org.apache.ignite.internal.processors.cache.distributed.dht.topology">
-            <level value="DEBUG"/>
-        </category>
-    -->
-
-    <!--
-        Uncomment to enable debugging of partition counters.
-    -->
-    <!--
-        <category name="org.apache.ignite.internal.processors.cache.PartitionTxUpdateCounterDebugWrapper">
-            <level value="DEBUG"/>
-        </category>
-    -->
-
-    <!--
-        Uncomment to enable transactions debugging.
-    -->
-    <!--
-         <category name="org.apache.ignite.cache.msg.tx.prepare">
-             <level value="DEBUG"/>
-         </category>
-
-         <category name="org.apache.ignite.cache.msg.tx.finish">
-             <level value="DEBUG"/>
-         </category>
-
-         <category name="org.apache.ignite.cache.msg.tx.recovery">
-             <level value="DEBUG"/>
-         </category>
-    -->
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/zeromq-ext/modules/core/src/test/config/log4j2-test.xml b/modules/zeromq-ext/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/zeromq-ext/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/zeromq-ext/pom.xml b/modules/zeromq-ext/pom.xml
index c33e33a..b11cc9c 100644
--- a/modules/zeromq-ext/pom.xml
+++ b/modules/zeromq-ext/pom.xml
@@ -47,7 +47,7 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
-            <artifactId>ignite-log4j</artifactId>
+            <artifactId>ignite-log4j2</artifactId>
             <scope>provided</scope>
         </dependency>
 
diff --git a/modules/zookeeper-ip-finder-ext/pom.xml b/modules/zookeeper-ip-finder-ext/pom.xml
index f7e4a50..7b7edea 100644
--- a/modules/zookeeper-ip-finder-ext/pom.xml
+++ b/modules/zookeeper-ip-finder-ext/pom.xml
@@ -41,6 +41,20 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>bundle-manifest</id>
+                        <phase/>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-deploy-plugin</artifactId>
                 <configuration>
diff --git a/modules/zookeeper-ip-finder-ext/zookeeper-ip-finder/modules/core/src/test/config/log4j-test.xml b/modules/zookeeper-ip-finder-ext/zookeeper-ip-finder/modules/core/src/test/config/log4j-test.xml
deleted file mode 100755
index 3061bd4..0000000
--- a/modules/zookeeper-ip-finder-ext/zookeeper-ip-finder/modules/core/src/test/config/log4j-test.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-
-<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN"
-    "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
-<!--
-    Log4j configuration.
--->
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-    <!--
-        Logs System.out messages to console.
-    -->
-    <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDOUT. -->
-        <param name="Target" value="System.out"/>
-
-        <!-- Log from DEBUG and higher. -->
-        <param name="Threshold" value="DEBUG"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-
-        <!-- Do not log beyond INFO level. -->
-        <filter class="org.apache.log4j.varia.LevelRangeFilter">
-            <param name="levelMin" value="DEBUG"/>
-            <param name="levelMax" value="INFO"/>
-        </filter>
-    </appender>
-
-    <!--
-        Logs all System.err messages to console.
-    -->
-    <appender name="CONSOLE_ERR" class="org.apache.log4j.ConsoleAppender">
-        <!-- Log to STDERR. -->
-        <param name="Target" value="System.err"/>
-
-        <!-- Log from WARN and higher. -->
-        <param name="Threshold" value="WARN"/>
-
-        <!-- The default pattern: Date Priority [Category] Message\n -->
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!--
-        Logs all output to specified file.
-    -->
-    <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
-        <param name="Threshold" value="DEBUG"/>
-        <param name="File" value="ignite/work/log/ignite.log"/>
-        <param name="Append" value="true"/>
-        <param name="MaxFileSize" value="10MB"/>
-        <param name="MaxBackupIndex" value="10"/>
-        <layout class="org.apache.log4j.PatternLayout">
-            <param name="ConversionPattern" value="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
-        </layout>
-    </appender>
-
-    <!-- Disable all open source debugging. -->
-    <category name="org">
-        <level value="INFO"/>
-    </category>
-
-    <category name="org.eclipse.jetty">
-        <level value="INFO"/>
-    </category>
-
-    <!-- Default settings. -->
-    <root>
-        <!-- Print at info by default. -->
-        <level value="INFO"/>
-
-        <!-- Append to file and console. -->
-        <appender-ref ref="FILE"/>
-        <appender-ref ref="CONSOLE"/>
-        <appender-ref ref="CONSOLE_ERR"/>
-    </root>
-</log4j:configuration>
diff --git a/modules/zookeeper-ip-finder-ext/zookeeper-ip-finder/modules/core/src/test/config/log4j2-test.xml b/modules/zookeeper-ip-finder-ext/zookeeper-ip-finder/modules/core/src/test/config/log4j2-test.xml
new file mode 100644
index 0000000..9a47edc
--- /dev/null
+++ b/modules/zookeeper-ip-finder-ext/zookeeper-ip-finder/modules/core/src/test/config/log4j2-test.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<Configuration>
+    <Appenders>
+        <Console name="CONSOLE" target="SYSTEM_OUT">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <LevelRangeFilter minLevel="INFO" maxLevel="DEBUG"/>
+        </Console>
+
+        <Console name="CONSOLE_ERR" target="SYSTEM_ERR">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}] %m%n"/>
+        </Console>
+
+        <RollingFile name="FILE"
+                     append="true"
+                     fileName="ignite/work/log/ignite.log"
+                     filePattern="ignite/work/log/ignite.log.%i">
+            <PatternLayout pattern="[%d{ISO8601}][%-5p][%t][%c{1}]%notEmpty{[%markerSimpleName]} %m%n"/>
+            <Policies>
+                <SizeBasedTriggeringPolicy size="10 MB"/>
+            </Policies>
+            <DefaultRolloverStrategy max="10"/>
+        </RollingFile>
+    </Appenders>
+
+    <Loggers>
+        <!--
+            Uncomment to enable Ignite query execution debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.query" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable Exchange, Rebalance and Partitions workflow debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.preloader" level="DEBUG"/>
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition counters.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.PartitionUpdateCounterDebugWrapper" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable transactions debugging.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.cache.msg.tx.prepare" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.finish" level="DEBUG"/>
+            <Logger name="org.apache.ignite.cache.msg.tx.recovery" level="DEBUG"/>
+        -->
+
+        <!--
+            Uncomment to enable debugging of partition eviction.
+        -->
+        <!--
+            <Logger name="org.apache.ignite.internal.processors.cache.distributed.dht.topology.PartitionsEvictManager" level="DEBUG"/>
+        -->
+        <Logger name="org" level="INFO"/>
+        <Logger name="org.eclipse.jetty" level="INFO"/>
+
+        <Root level="INFO">
+            <AppenderRef ref="FILE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE" level="DEBUG"/>
+            <AppenderRef ref="CONSOLE_ERR" level="WARN"/>
+        </Root>
+    </Loggers>
+</Configuration>
diff --git a/modules/zookeeper-ip-finder-ext/zookeeper-ip-finder/pom.xml b/modules/zookeeper-ip-finder-ext/zookeeper-ip-finder/pom.xml
index a42546a..a8e76f1 100644
--- a/modules/zookeeper-ip-finder-ext/zookeeper-ip-finder/pom.xml
+++ b/modules/zookeeper-ip-finder-ext/zookeeper-ip-finder/pom.xml
@@ -121,9 +121,8 @@
         </dependency>
 
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>${log4j.version}</version>
+            <groupId>org.apache.logging.log4j</groupId>
+            <artifactId>log4j-core</artifactId>
             <scope>test</scope>
         </dependency>
 
@@ -171,6 +170,15 @@
             <plugin>
                 <groupId>org.apache.felix</groupId>
                 <artifactId>maven-bundle-plugin</artifactId>
+                <configuration>
+                    <skip>false</skip>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>bundle-manifest</id>
+                        <phase>process-classes</phase>
+                    </execution>
+                </executions>
             </plugin>
 
             <plugin>
diff --git a/parent-internal/pom.xml b/parent-internal/pom.xml
index f0ad47a..e447abf 100644
--- a/parent-internal/pom.xml
+++ b/parent-internal/pom.xml
@@ -76,19 +76,11 @@
             </dependency>
 
             <dependency>
-                <groupId>log4j</groupId>
-                <artifactId>log4j</artifactId>
-                <version>${log4j.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>com.sun.jdmk</groupId>
-                        <artifactId>jmxtools</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>com.sun.jmx</groupId>
-                        <artifactId>jmxri</artifactId>
-                    </exclusion>
-                </exclusions>
+                <groupId>org.apache.logging.log4j</groupId>
+                <artifactId>log4j-bom</artifactId>
+                <version>${log4j2.version}</version>
+                <scope>import</scope>
+                <type>pom</type>
             </dependency>
         </dependencies>
     </dependencyManagement>