You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by pk...@apache.org on 2022/10/01 22:28:01 UTC

[logging-log4j2] 01/02: Remove SLF4J 1.8.x binding

This is an automated email from the ASF dual-hosted git repository.

pkarwasz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 1704761d2886aca4b47ea0a42e92f860d9ee8614
Author: Piotr P. Karwasz <pi...@karwasz.org>
AuthorDate: Sun Sep 4 07:04:59 2022 +0200

    Remove SLF4J 1.8.x binding
    
    SLF4J 1.8.x never reached a GA stage and was replace by SLF4J 2.0.x.
---
 log4j-bom/pom.xml                                  |   8 +-
 log4j-slf4j18-impl/pom.xml                         | 261 -------------
 .../java/org/apache/logging/slf4j/Log4jLogger.java | 420 ---------------------
 .../apache/logging/slf4j/Log4jLoggerFactory.java   |  75 ----
 .../org/apache/logging/slf4j/Log4jMDCAdapter.java  |  60 ---
 .../java/org/apache/logging/slf4j/Log4jMarker.java | 132 -------
 .../apache/logging/slf4j/Log4jMarkerFactory.java   | 138 -------
 .../logging/slf4j/SLF4JLoggingException.java       |  41 --
 .../apache/logging/slf4j/SLF4JServiceProvider.java |  59 ---
 .../org/apache/logging/slf4j/package-info.java     |  22 --
 .../services/org.slf4j.spi.SLF4JServiceProvider    |   1 -
 log4j-slf4j18-impl/src/site/markdown/index.md      |  40 --
 log4j-slf4j18-impl/src/site/site.xml               |  52 ---
 .../logging/other/pkg/LoggerContextAnchorTest.java |  91 -----
 .../logging/slf4j/CallerInformationTest.java       |  67 ----
 .../org/apache/logging/slf4j/CustomFlatMarker.java |  76 ----
 .../org/apache/logging/slf4j/Log4j1222Test.java    |  57 ---
 .../logging/slf4j/Log4j2_1482_Slf4jTest.java       |  41 --
 .../org/apache/logging/slf4j/Log4jMarkerTest.java  |  47 ---
 .../apache/logging/slf4j/LoggerContextTest.java    |  44 ---
 .../java/org/apache/logging/slf4j/LoggerTest.java  | 161 --------
 .../java/org/apache/logging/slf4j/MarkerTest.java  | 186 ---------
 .../org/apache/logging/slf4j/OverflowTest.java     |  43 ---
 .../org/apache/logging/slf4j/SerializeTest.java    |  46 ---
 .../src/test/resources/log4j-test1.xml             |  33 --
 .../src/test/resources/log4j2-1482.xml             |  27 --
 pom.xml                                            |   1 -
 27 files changed, 4 insertions(+), 2225 deletions(-)

diff --git a/log4j-bom/pom.xml b/log4j-bom/pom.xml
index 275fc6f461..97d1f4a24e 100644
--- a/log4j-bom/pom.xml
+++ b/log4j-bom/pom.xml
@@ -251,16 +251,16 @@
         <artifactId>log4j-plugins-test</artifactId>
         <version>${project.version}</version>
       </dependency>
-      <!-- SLF4J 1.8.x Compatibility API -->
+      <!-- SLF4J Compatibility API -->
       <dependency>
         <groupId>org.apache.logging.log4j</groupId>
-        <artifactId>log4j-slf4j18-impl</artifactId>
+        <artifactId>log4j-slf4j-impl</artifactId>
         <version>${project.version}</version>
       </dependency>
-      <!-- SLF4J Compatibility API -->
+      <!-- SLF4J 2.0.x Compatibility API -->
       <dependency>
         <groupId>org.apache.logging.log4j</groupId>
-        <artifactId>log4j-slf4j-impl</artifactId>
+        <artifactId>log4j-slf4j20-impl</artifactId>
         <version>${project.version}</version>
       </dependency>
       <!-- SMTP Appender plugin -->
diff --git a/log4j-slf4j18-impl/pom.xml b/log4j-slf4j18-impl/pom.xml
deleted file mode 100644
index 5a67f0ba3e..0000000000
--- a/log4j-slf4j18-impl/pom.xml
+++ /dev/null
@@ -1,261 +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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.logging.log4j</groupId>
-    <artifactId>log4j</artifactId>
-    <version>3.0.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>log4j-slf4j18-impl</artifactId>
-  <packaging>jar</packaging>
-  <name>Apache Log4j SLF4J 1.8+ Binding</name>
-  <description>The Apache Log4j SLF4J 1.8 API binding to Log4j 2 Core</description>
-  <properties>
-    <log4jParentDir>${basedir}/..</log4jParentDir>
-    <docLabel>SLF4J Documentation</docLabel>
-    <projectDir>/slf4j18</projectDir>
-    <slf4j.version>1.8.0-beta4</slf4j.version>
-    <module.name>org.apache.logging.log4j.slf4j</module.name>
-    <maven.doap.skip>true</maven.doap.skip>
-  </properties>
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>${slf4j.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-ext</artifactId>
-      <version>${slf4j.version}</version>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core</artifactId>
-      <scope>runtime</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-api-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-core-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.logging.log4j</groupId>
-      <artifactId>log4j-to-slf4j</artifactId>
-      <scope>test</scope>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-csv</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.hamcrest</groupId>
-      <artifactId>hamcrest</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.junit.jupiter</groupId>
-      <artifactId>junit-jupiter-engine</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.junit.vintage</groupId>
-      <artifactId>junit-vintage-engine</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <configuration>
-          <instructions>
-            <Export-Package>
-              org.apache.logging.slf4j,
-              org.slf4j.impl
-            </Export-Package>
-            <Require-Capability>
-              osgi.extender;filter:="(osgi.extender=osgi.serviceloader.registrar)"
-            </Require-Capability>
-            <Provide-Capability>
-              osgi.serviceloader;osgi.serviceloader=org.slf4j.spi.SLF4JServiceProvider
-            </Provide-Capability>
-          </instructions>
-        </configuration>
-      </plugin>
-      <!-- Include the standard NOTICE and LICENSE -->
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-remote-resources-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>process</goal>
-            </goals>
-            <configuration>
-              <skip>false</skip>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>loop-test</id>
-            <phase>test</phase>
-            <goals>
-              <goal>test</goal>
-            </goals>
-            <configuration>
-              <includes>
-                <include>**/OverflowTest.java</include>
-              </includes>
-            </configuration>
-          </execution>
-          <execution>
-            <id>default-test</id>
-            <phase>test</phase>
-            <goals>
-              <goal>test</goal>
-            </goals>
-            <configuration>
-              <includes>
-                <include>**/*Test.java</include>
-              </includes>
-              <excludes>
-                <exclude>**/OverflowTest.java</exclude>
-              </excludes>
-              <classpathDependencyExcludes>
-                <classpathDependencyExcludes>org.apache.logging.log4j:log4j-to-slf4j</classpathDependencyExcludes>
-              </classpathDependencyExcludes>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-  <reporting>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-changes-plugin</artifactId>
-        <version>${changes.plugin.version}</version>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>changes-report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-        <configuration>
-          <issueLinkTemplate>%URL%/%ISSUE%</issueLinkTemplate>
-          <useJql>true</useJql>
-          <component>SLF4J Bridge</component>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-checkstyle-plugin</artifactId>
-        <version>${checkstyle.plugin.version}</version>
-        <configuration>
-          <!--<propertiesLocation>${vfs.parent.dir}/checkstyle.properties</propertiesLocation> -->
-          <configLocation>${log4jParentDir}/checkstyle.xml</configLocation>
-          <suppressionsLocation>${log4jParentDir}/checkstyle-suppressions.xml</suppressionsLocation>
-          <enableRulesSummary>false</enableRulesSummary>
-          <propertyExpansion>basedir=${basedir}</propertyExpansion>
-          <propertyExpansion>licensedir=${log4jParentDir}/checkstyle-header.txt</propertyExpansion>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-javadoc-plugin</artifactId>
-        <version>${javadoc.plugin.version}</version>
-        <configuration>
-          <bottom>&lt;p align="center"&gt;Copyright &amp;#169; {inceptionYear}-{currentYear} {organizationName}. All Rights Reserved.&lt;br /&gt;
-            Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo,
-            and the Apache Log4j logo are trademarks of The Apache Software Foundation.&lt;/p&gt;</bottom>
-          <!-- module link generation is completely broken in the javadoc plugin for a multi-module non-aggregating
-               project -->
-          <detectOfflineLinks>false</detectOfflineLinks>
-          <linksource>true</linksource>
-          <source>8</source>
-        </configuration>
-        <reportSets>
-          <reportSet>
-            <id>non-aggregate</id>
-            <reports>
-              <report>javadoc</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jxr-plugin</artifactId>
-        <version>${jxr.plugin.version}</version>
-        <reportSets>
-          <reportSet>
-            <id>non-aggregate</id>
-            <reports>
-              <report>jxr</report>
-            </reports>
-          </reportSet>
-          <reportSet>
-            <id>aggregate</id>
-            <reports>
-              <report>aggregate</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-pmd-plugin</artifactId>
-        <version>${pmd.plugin.version}</version>
-        <configuration>
-          <targetJdk>${maven.compiler.target}</targetJdk>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>com.github.spotbugs</groupId>
-        <artifactId>spotbugs-maven-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </reporting>
-</project>
diff --git a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java b/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java
deleted file mode 100644
index 10ad49ca7e..0000000000
--- a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.io.Serializable;
-
-import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.message.Message;
-import org.apache.logging.log4j.message.ParameterizedMessage;
-import org.apache.logging.log4j.message.SimpleMessage;
-import org.apache.logging.log4j.spi.ExtendedLogger;
-import org.slf4j.Marker;
-import org.slf4j.spi.LocationAwareLogger;
-
-/**
- * SLF4J logger implementation that uses Log4j.
- */
-public class Log4jLogger implements LocationAwareLogger, Serializable {
-
-    public static final String FQCN = Log4jLogger.class.getName();
-
-    private static final long serialVersionUID = 7869000638091304316L;
-    private transient ExtendedLogger logger;
-    private final String name;
-    private transient Log4jMarkerFactory markerFactory;
-
-    public Log4jLogger(final Log4jMarkerFactory markerFactory, final ExtendedLogger logger, final String name) {
-        this.markerFactory = markerFactory;
-        this.logger = logger;
-        this.name = name;
-    }
-
-    @Override
-    public void trace(final String format) {
-        logger.logIfEnabled(FQCN, Level.TRACE, null, format);
-    }
-
-    @Override
-    public void trace(final String format, final Object o) {
-        logger.logIfEnabled(FQCN, Level.TRACE, null, format, o);
-    }
-
-    @Override
-    public void trace(final String format, final Object arg1, final Object arg2) {
-        logger.logIfEnabled(FQCN, Level.TRACE, null, format, arg1, arg2);
-    }
-
-    @Override
-    public void trace(final String format, final Object... args) {
-        logger.logIfEnabled(FQCN, Level.TRACE, null, format, args);
-    }
-
-    @Override
-    public void trace(final String format, final Throwable t) {
-        logger.logIfEnabled(FQCN, Level.TRACE, null, format, t);
-    }
-
-    @Override
-    public boolean isTraceEnabled() {
-        return logger.isEnabled(Level.TRACE, null, null);
-    }
-
-    @Override
-    public boolean isTraceEnabled(final Marker marker) {
-        return logger.isEnabled(Level.TRACE, getMarker(marker), null);
-    }
-
-    @Override
-    public void trace(final Marker marker, final String s) {
-        logger.logIfEnabled(FQCN, Level.TRACE, getMarker(marker), s);
-    }
-
-    @Override
-    public void trace(final Marker marker, final String s, final Object o) {
-        logger.logIfEnabled(FQCN, Level.TRACE, getMarker(marker), s, o);
-    }
-
-    @Override
-    public void trace(final Marker marker, final String s, final Object o, final Object o1) {
-        logger.logIfEnabled(FQCN, Level.TRACE, getMarker(marker), s, o, o1);
-    }
-
-    @Override
-    public void trace(final Marker marker, final String s, final Object... objects) {
-        logger.logIfEnabled(FQCN, Level.TRACE, getMarker(marker), s, objects);
-    }
-
-    @Override
-    public void trace(final Marker marker, final String s, final Throwable throwable) {
-        logger.logIfEnabled(FQCN, Level.TRACE, getMarker(marker), s, throwable);
-    }
-
-    @Override
-    public void debug(final String format) {
-        logger.logIfEnabled(FQCN, Level.DEBUG, null, format);
-    }
-
-    @Override
-    public void debug(final String format, final Object o) {
-        logger.logIfEnabled(FQCN, Level.DEBUG, null, format, o);
-    }
-
-    @Override
-    public void debug(final String format, final Object arg1, final Object arg2) {
-        logger.logIfEnabled(FQCN, Level.DEBUG, null, format, arg1, arg2);
-    }
-
-    @Override
-    public void debug(final String format, final Object... args) {
-        logger.logIfEnabled(FQCN, Level.DEBUG, null, format, args);
-    }
-
-    @Override
-    public void debug(final String format, final Throwable t) {
-        logger.logIfEnabled(FQCN, Level.DEBUG, null, format, t);
-    }
-
-    @Override
-    public boolean isDebugEnabled() {
-        return logger.isEnabled(Level.DEBUG, null, null);
-    }
-
-    @Override
-    public boolean isDebugEnabled(final Marker marker) {
-        return logger.isEnabled(Level.DEBUG, getMarker(marker), null);
-    }
-
-    @Override
-    public void debug(final Marker marker, final String s) {
-        logger.logIfEnabled(FQCN, Level.DEBUG, getMarker(marker), s);
-    }
-
-    @Override
-    public void debug(final Marker marker, final String s, final Object o) {
-        logger.logIfEnabled(FQCN, Level.DEBUG, getMarker(marker), s, o);
-    }
-
-    @Override
-    public void debug(final Marker marker, final String s, final Object o, final Object o1) {
-        logger.logIfEnabled(FQCN, Level.DEBUG, getMarker(marker), s, o, o1);
-    }
-
-    @Override
-    public void debug(final Marker marker, final String s, final Object... objects) {
-        logger.logIfEnabled(FQCN, Level.DEBUG, getMarker(marker), s, objects);
-    }
-
-    @Override
-    public void debug(final Marker marker, final String s, final Throwable throwable) {
-        logger.logIfEnabled(FQCN, Level.DEBUG, getMarker(marker), s, throwable);
-    }
-
-    @Override
-    public void info(final String format) {
-        logger.logIfEnabled(FQCN, Level.INFO, null, format);
-    }
-
-    @Override
-    public void info(final String format, final Object o) {
-        logger.logIfEnabled(FQCN, Level.INFO, null, format, o);
-    }
-
-    @Override
-    public void info(final String format, final Object arg1, final Object arg2) {
-        logger.logIfEnabled(FQCN, Level.INFO, null, format, arg1, arg2);
-    }
-
-    @Override
-    public void info(final String format, final Object... args) {
-        logger.logIfEnabled(FQCN, Level.INFO, null, format, args);
-    }
-
-    @Override
-    public void info(final String format, final Throwable t) {
-        logger.logIfEnabled(FQCN, Level.INFO, null, format, t);
-    }
-
-    @Override
-    public boolean isInfoEnabled() {
-        return logger.isEnabled(Level.INFO, null, null);
-    }
-
-    @Override
-    public boolean isInfoEnabled(final Marker marker) {
-        return logger.isEnabled(Level.INFO, getMarker(marker), null);
-    }
-
-    @Override
-    public void info(final Marker marker, final String s) {
-        logger.logIfEnabled(FQCN, Level.INFO, getMarker(marker), s);
-    }
-
-    @Override
-    public void info(final Marker marker, final String s, final Object o) {
-        logger.logIfEnabled(FQCN, Level.INFO, getMarker(marker), s, o);
-    }
-
-    @Override
-    public void info(final Marker marker, final String s, final Object o, final Object o1) {
-        logger.logIfEnabled(FQCN, Level.INFO, getMarker(marker), s, o, o1);
-    }
-
-    @Override
-    public void info(final Marker marker, final String s, final Object... objects) {
-        logger.logIfEnabled(FQCN, Level.INFO, getMarker(marker), s, objects);
-    }
-
-    @Override
-    public void info(final Marker marker, final String s, final Throwable throwable) {
-        logger.logIfEnabled(FQCN, Level.INFO, getMarker(marker), s, throwable);
-    }
-
-    @Override
-    public void warn(final String format) {
-        logger.logIfEnabled(FQCN, Level.WARN, null, format);
-    }
-
-    @Override
-    public void warn(final String format, final Object o) {
-        logger.logIfEnabled(FQCN, Level.WARN, null, format, o);
-    }
-
-    @Override
-    public void warn(final String format, final Object arg1, final Object arg2) {
-        logger.logIfEnabled(FQCN, Level.WARN, null, format, arg1, arg2);
-    }
-
-    @Override
-    public void warn(final String format, final Object... args) {
-        logger.logIfEnabled(FQCN, Level.WARN, null, format, args);
-    }
-
-    @Override
-    public void warn(final String format, final Throwable t) {
-        logger.logIfEnabled(FQCN, Level.WARN, null, format, t);
-    }
-
-    @Override
-    public boolean isWarnEnabled() {
-        return logger.isEnabled(Level.WARN, null, null);
-    }
-
-    @Override
-    public boolean isWarnEnabled(final Marker marker) {
-        return logger.isEnabled(Level.WARN, getMarker(marker), null);
-    }
-
-    @Override
-    public void warn(final Marker marker, final String s) {
-        logger.logIfEnabled(FQCN, Level.WARN, getMarker(marker), s);
-    }
-
-    @Override
-    public void warn(final Marker marker, final String s, final Object o) {
-        logger.logIfEnabled(FQCN, Level.WARN, getMarker(marker), s, o);
-    }
-
-    @Override
-    public void warn(final Marker marker, final String s, final Object o, final Object o1) {
-        logger.logIfEnabled(FQCN, Level.WARN, getMarker(marker), s, o, o1);
-    }
-
-    @Override
-    public void warn(final Marker marker, final String s, final Object... objects) {
-        logger.logIfEnabled(FQCN, Level.WARN, getMarker(marker), s, objects);
-    }
-
-    @Override
-    public void warn(final Marker marker, final String s, final Throwable throwable) {
-        logger.logIfEnabled(FQCN, Level.WARN, getMarker(marker), s, throwable);
-    }
-
-    @Override
-    public void error(final String format) {
-        logger.logIfEnabled(FQCN, Level.ERROR, null, format);
-    }
-
-    @Override
-    public void error(final String format, final Object o) {
-        logger.logIfEnabled(FQCN, Level.ERROR, null, format, o);
-    }
-
-    @Override
-    public void error(final String format, final Object arg1, final Object arg2) {
-        logger.logIfEnabled(FQCN, Level.ERROR, null, format, arg1, arg2);
-    }
-
-    @Override
-    public void error(final String format, final Object... args) {
-        logger.logIfEnabled(FQCN, Level.ERROR, null, format, args);
-    }
-
-    @Override
-    public void error(final String format, final Throwable t) {
-        logger.logIfEnabled(FQCN, Level.ERROR, null, format, t);
-    }
-
-    @Override
-    public boolean isErrorEnabled() {
-        return logger.isEnabled(Level.ERROR, null, null);
-    }
-
-    @Override
-    public boolean isErrorEnabled(final Marker marker) {
-        return logger.isEnabled(Level.ERROR, getMarker(marker), null);
-    }
-
-    @Override
-    public void error(final Marker marker, final String s) {
-        logger.logIfEnabled(FQCN, Level.ERROR, getMarker(marker), s);
-    }
-
-    @Override
-    public void error(final Marker marker, final String s, final Object o) {
-        logger.logIfEnabled(FQCN, Level.ERROR, getMarker(marker), s, o);
-    }
-
-    @Override
-    public void error(final Marker marker, final String s, final Object o, final Object o1) {
-        logger.logIfEnabled(FQCN, Level.ERROR, getMarker(marker), s, o, o1);
-    }
-
-    @Override
-    public void error(final Marker marker, final String s, final Object... objects) {
-        logger.logIfEnabled(FQCN, Level.ERROR, getMarker(marker), s, objects);
-    }
-
-    @Override
-    public void error(final Marker marker, final String s, final Throwable throwable) {
-        logger.logIfEnabled(FQCN, Level.ERROR, getMarker(marker), s, throwable);
-    }
-
-    @Override
-    public void log(final Marker marker, final String fqcn, final int level, final String message, final Object[] params, Throwable throwable) {
-        final Level log4jLevel = getLevel(level);
-        final org.apache.logging.log4j.Marker log4jMarker = getMarker(marker);
-
-        if (!logger.isEnabled(log4jLevel, log4jMarker, message, params)) {
-            return;
-        }
-        final Message msg;
-        if (params == null) {
-            msg = new SimpleMessage(message);
-        } else {
-            msg = new ParameterizedMessage(message, params, throwable);
-            if (throwable != null) {
-                throwable = msg.getThrowable();
-            }
-        }
-        logger.logMessage(fqcn, log4jLevel, log4jMarker, msg, throwable);
-    }
-
-    private org.apache.logging.log4j.Marker getMarker(final Marker marker) {
-        if (marker == null) {
-            return null;
-        } else if (marker instanceof Log4jMarker) {
-            return ((Log4jMarker) marker).getLog4jMarker();
-        } else {
-            return ((Log4jMarker) markerFactory.getMarker(marker)).getLog4jMarker();
-        }
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    /**
-     * Always treat de-serialization as a full-blown constructor, by validating the final state of
-     * the de-serialized object.
-     */
-    private void readObject(final ObjectInputStream aInputStream) throws ClassNotFoundException, IOException {
-        // always perform the default de-serialization first
-        aInputStream.defaultReadObject();
-        logger = LogManager.getContext().getLogger(name);
-        markerFactory = ((Log4jLoggerFactory) org.slf4j.LoggerFactory.getILoggerFactory()).getMarkerFactory();
-    }
-
-    /**
-     * This is the default implementation of writeObject. Customise if necessary.
-     */
-    private void writeObject(final ObjectOutputStream aOutputStream) throws IOException {
-        // perform the default serialization for all non-transient, non-static fields
-        aOutputStream.defaultWriteObject();
-    }
-
-    private static Level getLevel(final int i) {
-        switch (i) {
-        case TRACE_INT:
-            return Level.TRACE;
-        case DEBUG_INT:
-            return Level.DEBUG;
-        case INFO_INT:
-            return Level.INFO;
-        case WARN_INT:
-            return Level.WARN;
-        case ERROR_INT:
-            return Level.ERROR;
-        }
-        return Level.ERROR;
-    }
-}
diff --git a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jLoggerFactory.java b/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jLoggerFactory.java
deleted file mode 100644
index 2e3fb2f865..0000000000
--- a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jLoggerFactory.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.LoggingException;
-import org.apache.logging.log4j.spi.AbstractLoggerAdapter;
-import org.apache.logging.log4j.spi.LoggerContext;
-import org.apache.logging.log4j.status.StatusLogger;
-import org.apache.logging.log4j.util.StackLocatorUtil;
-import org.slf4j.ILoggerFactory;
-import org.slf4j.Logger;
-
-import java.util.function.Predicate;
-
-/**
- * Log4j implementation of SLF4J ILoggerFactory interface.
- */
-public class Log4jLoggerFactory extends AbstractLoggerAdapter<Logger> implements ILoggerFactory {
-
-    private static final StatusLogger LOGGER = StatusLogger.getLogger();
-    private static final String SLF4J_PACKAGE = "org.slf4j";
-    private static final Predicate<Class<?>> CALLER_PREDICATE = clazz ->
-            !AbstractLoggerAdapter.class.equals(clazz) && !clazz.getName().startsWith(SLF4J_PACKAGE);
-    private static final String TO_SLF4J_CONTEXT = "org.apache.logging.slf4j.SLF4JLoggerContext";
-
-    private final Log4jMarkerFactory markerFactory;
-
-    public Log4jLoggerFactory(final Log4jMarkerFactory markerFactory) {
-        this.markerFactory = markerFactory;
-    }
-
-    @Override
-    protected Logger newLogger(final String name, final LoggerContext context) {
-        final String key = Logger.ROOT_LOGGER_NAME.equals(name) ? LogManager.ROOT_LOGGER_NAME : name;
-        return new Log4jLogger(markerFactory, validateContext(context).getLogger(key), name);
-    }
-
-    @Override
-    protected LoggerContext getContext() {
-        final Class<?> anchor = LogManager.getFactory().isClassLoaderDependent()
-                ? StackLocatorUtil.getCallerClass(Log4jLoggerFactory.class, CALLER_PREDICATE)
-                : null;
-        LOGGER.trace("Log4jLoggerFactory.getContext() found anchor {}", anchor);
-        return anchor == null
-                ? LogManager.getContext(false)
-                : getContext(anchor);
-    }
-
-    Log4jMarkerFactory getMarkerFactory() {
-        return markerFactory;
-    }
-
-    private LoggerContext validateContext(final LoggerContext context) {
-        if (TO_SLF4J_CONTEXT.equals(context.getClass().getName())) {
-            throw new LoggingException("log4j-slf4j-impl cannot be present with log4j-to-slf4j");
-        }
-        return context;
-    }
-
-}
diff --git a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jMDCAdapter.java b/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jMDCAdapter.java
deleted file mode 100644
index b12c297ac3..0000000000
--- a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jMDCAdapter.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-import java.util.Map;
-
-import org.apache.logging.log4j.ThreadContext;
-import org.slf4j.spi.MDCAdapter;
-
-/**
- *
- */
-public class Log4jMDCAdapter implements MDCAdapter {
-
-    @Override
-    public void put(final String key, final String val) {
-        ThreadContext.put(key, val);
-    }
-
-    @Override
-    public String get(final String key) {
-        return ThreadContext.get(key);
-    }
-
-    @Override
-    public void remove(final String key) {
-        ThreadContext.remove(key);
-    }
-
-    @Override
-    public void clear() {
-        ThreadContext.clearMap();
-    }
-
-    @Override
-    public Map<String, String> getCopyOfContextMap() {
-        return ThreadContext.getContext();
-    }
-
-    @Override
-    @SuppressWarnings("unchecked") // nothing we can do about this, restricted by SLF4J API
-    public void setContextMap(@SuppressWarnings("rawtypes") final Map map) {
-        ThreadContext.clearMap();
-        ThreadContext.putAll(map);
-    }
-}
diff --git a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jMarker.java b/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jMarker.java
deleted file mode 100644
index 30931851f0..0000000000
--- a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jMarker.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.logging.log4j.MarkerManager;
-import org.slf4j.IMarkerFactory;
-import org.slf4j.Marker;
-
-/**
- * Log4j/SLF4J {@link Marker} type bridge.
- */
-class Log4jMarker implements Marker {
-
-    public static final long serialVersionUID = 1590472L;
-
-    private final IMarkerFactory factory;
-
-    private final org.apache.logging.log4j.Marker marker;
-
-    /**
-     * Constructs a Log4jMarker using an existing Log4j {@link org.apache.logging.log4j.Marker}.
-     * @param marker The Log4j Marker upon which to base this Marker.
-     */
-    public Log4jMarker(final IMarkerFactory markerFactory, final org.apache.logging.log4j.Marker marker) {
-        this.factory = markerFactory;
-        this.marker = marker;
-    }
-
-    @Override
-    public void add(final Marker marker) {
-		if (marker == null) {
-			throw new IllegalArgumentException();
-		}
-        final Marker m = factory.getMarker(marker.getName());
-        this.marker.addParents(((Log4jMarker)m).getLog4jMarker());
-    }
-
-    @Override
-	public boolean contains(final Marker marker) {
-		if (marker == null) {
-			throw new IllegalArgumentException();
-		}
-		return this.marker.isInstanceOf(marker.getName());
-	}
-
-    @Override
-	public boolean contains(final String s) {
-		return s != null && this.marker.isInstanceOf(s);
-	}
-
-    @Override
-	public boolean equals(final Object obj) {
-		if (this == obj) {
-			return true;
-		}
-		if (obj == null) {
-			return false;
-		}
-		if (!(obj instanceof Log4jMarker)) {
-			return false;
-		}
-		final Log4jMarker other = (Log4jMarker) obj;
-		if (marker == null) {
-			if (other.marker != null) {
-				return false;
-			}
-		} else if (!marker.equals(other.marker)) {
-			return false;
-		}
-		return true;
-	}
-
-    public org.apache.logging.log4j.Marker getLog4jMarker() {
-        return marker;
-    }
-
-    @Override
-    public String getName() {
-        return marker.getName();
-    }
-
-    @Override
-    public boolean hasChildren() {
-        return marker.hasParents();
-    }
-
-    @Override
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((marker == null) ? 0 : marker.hashCode());
-		return result;
-	}
-
-    @Override
-    public boolean hasReferences() {
-        return marker.hasParents();
-    }
-
-	@Override
-    public Iterator<Marker> iterator() {
-        final org.apache.logging.log4j.Marker[] log4jParents = this.marker.getParents();
-        final List<Marker> parents = new ArrayList<>(log4jParents.length);
-		for (final org.apache.logging.log4j.Marker m : log4jParents) {
-            parents.add(factory.getMarker(m.getName()));
-        }
-        return parents.iterator();
-    }
-
-	@Override
-	public boolean remove(final Marker marker) {
-		return marker != null && this.marker.remove(MarkerManager.getMarker(marker.getName()));
-	}
-}
diff --git a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jMarkerFactory.java b/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jMarkerFactory.java
deleted file mode 100644
index 69ea94b33c..0000000000
--- a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jMarkerFactory.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.MarkerManager;
-import org.apache.logging.log4j.status.StatusLogger;
-import org.slf4j.IMarkerFactory;
-import org.slf4j.Marker;
-
-/**
- * Log4j/SLF4J bridge to create SLF4J Markers based on name or based on existing SLF4J Markers.
- */
-public class Log4jMarkerFactory implements IMarkerFactory {
-
-    private static final Logger LOGGER = StatusLogger.getLogger();
-
-    private final ConcurrentMap<String, Marker> markerMap = new ConcurrentHashMap<>();
-
-    /**
-     * Returns a Log4j Marker that is compatible with SLF4J.
-     * @param name The name of the Marker.
-     * @return A Marker.
-     */
-    @Override
-    public Marker getMarker(final String name) {
-        if (name == null) {
-            throw new IllegalArgumentException("Marker name must not be null");
-        }
-        final Marker marker = markerMap.get(name);
-        if (marker != null) {
-            return marker;
-        }
-        final org.apache.logging.log4j.Marker log4jMarker = MarkerManager.getMarker(name);
-        return addMarkerIfAbsent(name, log4jMarker);
-    }
-
-    private Marker addMarkerIfAbsent(final String name, final org.apache.logging.log4j.Marker log4jMarker) {
-        final Marker marker = new Log4jMarker(this, log4jMarker);
-        final Marker existing = markerMap.putIfAbsent(name, marker);
-        return existing == null ? marker : existing;
-    }
-
-    /**
-     * Returns a Log4j Marker converted from an existing custom SLF4J Marker.
-     * @param marker The SLF4J Marker to convert.
-     * @return A converted Log4j/SLF4J Marker.
-     * @since 2.1
-     */
-    public Marker getMarker(final Marker marker) {
-        if (marker == null) {
-            throw new IllegalArgumentException("Marker must not be null");
-        }
-        final Marker m = markerMap.get(marker.getName());
-        if (m != null) {
-            return m;
-        }
-        return addMarkerIfAbsent(marker.getName(), convertMarker(marker));
-    }
-
-    private static org.apache.logging.log4j.Marker convertMarker(final Marker original) {
-        if (original == null) {
-            throw new IllegalArgumentException("Marker must not be null");
-        }
-        return convertMarker(original, new ArrayList<Marker>());
-    }
-
-    private static org.apache.logging.log4j.Marker convertMarker(final Marker original,
-                                                                 final Collection<Marker> visited) {
-        final org.apache.logging.log4j.Marker marker = MarkerManager.getMarker(original.getName());
-        if (original.hasReferences()) {
-            final Iterator<Marker> it = original.iterator();
-            while (it.hasNext()) {
-                final Marker next = it.next();
-                if (visited.contains(next)) {
-                    LOGGER.warn("Found a cycle in Marker [{}]. Cycle will be broken.", next.getName());
-                } else {
-                    visited.add(next);
-                    marker.addParents(convertMarker(next, visited));
-                }
-            }
-        }
-        return marker;
-    }
-
-    /**
-     * Returns true if the Marker exists.
-     * @param name The Marker name.
-     * @return {@code true} if the Marker exists, {@code false} otherwise.
-     */
-    @Override
-    public boolean exists(final String name) {
-        return markerMap.containsKey(name);
-    }
-
-    /**
-     * Log4j does not support detached Markers. This method always returns false.
-     * @param name The Marker name.
-     * @return {@code false}
-     */
-    @Override
-    public boolean detachMarker(final String name) {
-        return false;
-    }
-
-    /**
-     * Log4j does not support detached Markers for performance reasons. The returned Marker is attached.
-     * @param name The Marker name.
-     * @return The named Marker (unmodified).
-     */
-    @Override
-    public Marker getDetachedMarker(final String name) {
-        LOGGER.warn("Log4j does not support detached Markers. Returned Marker [{}] will be unchanged.", name);
-        return getMarker(name);
-    }
-
-
-}
diff --git a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/SLF4JLoggingException.java b/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/SLF4JLoggingException.java
deleted file mode 100644
index 0a41215383..0000000000
--- a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/SLF4JLoggingException.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-/**
- * Exception thrown when the SLF4J adapter encounters a problem.
- *
- */
-public class SLF4JLoggingException extends RuntimeException {
-
-    /**
-     * Generated serial version ID.
-     */
-    private static final long serialVersionUID = -1618650972455089998L;
-
-    public SLF4JLoggingException(final String msg) {
-        super(msg);
-    }
-
-    public SLF4JLoggingException(final String msg, final Exception ex) {
-        super(msg, ex);
-    }
-
-    public SLF4JLoggingException(final Exception ex) {
-        super(ex);
-    }
-}
diff --git a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/SLF4JServiceProvider.java b/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/SLF4JServiceProvider.java
deleted file mode 100644
index 561132fa17..0000000000
--- a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/SLF4JServiceProvider.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-import org.slf4j.ILoggerFactory;
-import org.slf4j.IMarkerFactory;
-import org.slf4j.spi.MDCAdapter;
-
-public class SLF4JServiceProvider implements org.slf4j.spi.SLF4JServiceProvider {
-
-    public static final String REQUESTED_API_VERSION = "1.8.99";
-
-    private ILoggerFactory loggerFactory;
-    private Log4jMarkerFactory markerFactory;
-    private MDCAdapter mdcAdapter;
-
-    @Override
-    public ILoggerFactory getLoggerFactory() {
-        return loggerFactory;
-    }
-
-    @Override
-    public IMarkerFactory getMarkerFactory() {
-        return markerFactory;
-    }
-
-    @Override
-    public MDCAdapter getMDCAdapter() {
-        return mdcAdapter;
-    }
-
-    @Override
-    public String getRequesteApiVersion() {
-        return REQUESTED_API_VERSION;
-    }
-
-    @Override
-    public void initialize() {
-        markerFactory = new Log4jMarkerFactory();
-        loggerFactory = new Log4jLoggerFactory(markerFactory);
-        mdcAdapter = new Log4jMDCAdapter();
-    }
-
-
-}
diff --git a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/package-info.java b/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/package-info.java
deleted file mode 100644
index ec0f031c37..0000000000
--- a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * 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.
- */
-/**
- * SLF4J support. Note that this does indeed share the same package namespace as the one found in log4j-to-slf4j;
- * this is intentional. The two JARs should <em>not</em> be used at the same time! Thus, in an OSGi environment
- * where split packages are not allowed, this error is prevented due to both JARs sharing an exported package name.
- */
-package org.apache.logging.slf4j;
diff --git a/log4j-slf4j18-impl/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider b/log4j-slf4j18-impl/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider
deleted file mode 100644
index 1577f12daf..0000000000
--- a/log4j-slf4j18-impl/src/main/resources/META-INF/services/org.slf4j.spi.SLF4JServiceProvider
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.logging.slf4j.SLF4JServiceProvider
\ No newline at end of file
diff --git a/log4j-slf4j18-impl/src/site/markdown/index.md b/log4j-slf4j18-impl/src/site/markdown/index.md
deleted file mode 100644
index 6e3f3f69d1..0000000000
--- a/log4j-slf4j18-impl/src/site/markdown/index.md
+++ /dev/null
@@ -1,40 +0,0 @@
-<!-- vim: set syn=markdown : -->
-<!--
-    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.
--->
-
-# Log4j 2 SLF4J Binding
-
-The Log4j 2 SLF4J Binding allows applications coded to the SLF4J API to use
-Log4j 2 as the implementation.
-
-## Requirements
-
-The Log4j 2 SLF4J Binding has a dependency on the Log4j 2 API as well as the SLF4J API.
-For more information, see [Runtime Dependencies](../runtime-dependencies.html).
-
-## Usage
-
-The SLF4J binding provided in this component cause all the SLF4J APIs to be routed to Log4j 2. Simply
-include the Log4j 2 SLF4J Binding jar along with the Log4j 2 jars and SLF4J API jar to cause all SLF4J
-logging to be handled by Log4j 2.
-
-<div class="alert alert-danger">
-Use of the Log4j 2 SLF4J Binding (log4j-slf4j-impl-2.0.jar) together with 
-the SLF4J adapter (log4j-to-slf4j-2.0.jar) should 
-never be attempted, as it will cause events to endlessly be routed between
-SLF4J and Log4j 2.
-</div>
diff --git a/log4j-slf4j18-impl/src/site/site.xml b/log4j-slf4j18-impl/src/site/site.xml
deleted file mode 100644
index a1f9106932..0000000000
--- a/log4j-slf4j18-impl/src/site/site.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<!--
- 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.
-
--->
-<project name="SLF4J Binding Using Log4j"
-         xmlns="http://maven.apache.org/DECORATION/1.4.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/DECORATION/1.4.0 http://maven.apache.org/xsd/decoration-1.4.0.xsd">
-  <body>
-    <links>
-      <item name="Apache" href="http://www.apache.org/" />
-      <item name="Logging Services" href="http://logging.apache.org/"/>
-      <item name="Log4j" href="../index.html"/>
-    </links>
-
-    <!-- Component-specific reports -->
-    <menu ref="reports"/>
-
-	<!-- Overall Project Info -->
-    <menu name="Log4j Project Information" img="icon-info-sign">
-      <item name="Dependencies" href="../dependencies.html" />
-      <item name="Dependency Convergence" href="../dependency-convergence.html" />
-      <item name="Dependency Management" href="../dependency-management.html" />
-      <item name="Project Team" href="../team-list.html" />
-      <item name="Mailing Lists" href="../mail-lists.html" />
-      <item name="Issue Tracking" href="../issue-tracking.html" />
-      <item name="Project License" href="../license.html" />
-      <item name="Source Repository" href="../source-repository.html" />
-      <item name="Project Summary" href="../project-summary.html" />
-    </menu>
-
-    <menu name="Log4j Project Reports" img="icon-cog">
-      <item name="Changes Report" href="../changes-report.html" />
-      <item name="JIRA Report" href="../jira-report.html" />
-      <item name="Surefire Report" href="../surefire-report.html" />
-      <item name="RAT Report" href="../rat-report.html" />
-    </menu>
-  </body>
-</project>
diff --git a/log4j-slf4j18-impl/src/test/java/org/apache/logging/other/pkg/LoggerContextAnchorTest.java b/log4j-slf4j18-impl/src/test/java/org/apache/logging/other/pkg/LoggerContextAnchorTest.java
deleted file mode 100644
index 2b0fe91c20..0000000000
--- a/log4j-slf4j18-impl/src/test/java/org/apache/logging/other/pkg/LoggerContextAnchorTest.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.other.pkg;
-
-import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.status.StatusData;
-import org.apache.logging.log4j.status.StatusListener;
-import org.apache.logging.log4j.status.StatusLogger;
-import org.junit.Test;
-import org.slf4j.LoggerFactory;
-
-import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- * Test LoggerContext lookups by verifying the anchor class representing calling code.
- */
-public class LoggerContextAnchorTest {
-    private static final String PREFIX = "Log4jLoggerFactory.getContext() found anchor class ";
-
-    @Test
-    public void testLoggerFactoryLookupClass() {
-        String fqcn = getAnchorFqcn(() -> LoggerFactory.getLogger(LoggerContextAnchorTest.class));
-        assertEquals(getClass().getName(), fqcn);
-    }
-
-    @Test
-    public void testLoggerFactoryLookupString() {
-        String fqcn = getAnchorFqcn(() -> LoggerFactory.getLogger("custom.logger"));
-        assertEquals(getClass().getName(), fqcn);
-    }
-
-    @Test
-    public void testLoggerFactoryGetILoggerFactoryLookup() {
-        String fqcn = getAnchorFqcn(() -> LoggerFactory.getILoggerFactory().getLogger("custom.logger"));
-        assertEquals(getClass().getName(), fqcn);
-    }
-
-    private static String getAnchorFqcn(Runnable runnable) {
-        List<String> results = new CopyOnWriteArrayList<>();
-        StatusListener listener = new StatusListener() {
-            @Override
-            public void log(StatusData data) {
-                String formattedMessage = data.getMessage().getFormattedMessage();
-                if (formattedMessage.startsWith(PREFIX)) {
-                    results.add(formattedMessage.substring(PREFIX.length()));
-                }
-            }
-
-            @Override
-            public Level getStatusLevel() {
-                return Level.TRACE;
-            }
-
-            @Override
-            public void close() {
-                // nop
-            }
-        };
-        StatusLogger statusLogger = StatusLogger.getLogger();
-        statusLogger.registerListener(listener);
-        try {
-            runnable.run();
-            if (results.isEmpty()) {
-                throw new AssertionError("Failed to locate an anchor lookup status message");
-            }
-            if (results.size() > 1) {
-                throw new AssertionError("Found multiple anchor lines: " + results);
-            }
-            return results.get(0);
-        } finally {
-            statusLogger.removeListener(listener);
-        }
-    }
-}
diff --git a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/CallerInformationTest.java b/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/CallerInformationTest.java
deleted file mode 100644
index 8fdb8a54f6..0000000000
--- a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/CallerInformationTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-import static org.junit.Assert.assertEquals;
-
-import java.util.List;
-
-import org.apache.logging.log4j.core.test.junit.LoggerContextRule;
-import org.apache.logging.log4j.core.test.appender.ListAppender;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class CallerInformationTest {
-
-    // config from log4j-core test-jar
-    private static final String CONFIG = "log4j2-calling-class.xml";
-
-    @ClassRule
-    public static final LoggerContextRule ctx = new LoggerContextRule(CONFIG);
-
-    @Test
-    public void testClassLogger() throws Exception {
-        final ListAppender app = ctx.getListAppender("Class").clear();
-        final Logger logger = LoggerFactory.getLogger("ClassLogger");
-        logger.info("Ignored message contents.");
-        logger.warn("Verifying the caller class is still correct.");
-        logger.error("Hopefully nobody breaks me!");
-        final List<String> messages = app.getMessages();
-        assertEquals("Incorrect number of messages.", 3, messages.size());
-        for (final String message : messages) {
-            assertEquals("Incorrect caller class name.", this.getClass().getName(), message);
-        }
-    }
-
-    @Test
-    public void testMethodLogger() throws Exception {
-        final ListAppender app = ctx.getListAppender("Method").clear();
-        final Logger logger = LoggerFactory.getLogger("MethodLogger");
-        logger.info("More messages.");
-        logger.warn("CATASTROPHE INCOMING!");
-        logger.error("ZOMBIES!!!");
-        logger.warn("brains~~~");
-        logger.info("Itchy. Tasty.");
-        final List<String> messages = app.getMessages();
-        assertEquals("Incorrect number of messages.", 5, messages.size());
-        for (final String message : messages) {
-            assertEquals("Incorrect caller method name.", "testMethodLogger", message);
-        }
-    }
-}
diff --git a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/CustomFlatMarker.java b/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/CustomFlatMarker.java
deleted file mode 100644
index 0138cead6e..0000000000
--- a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/CustomFlatMarker.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.logging.slf4j;
-
-import java.util.Iterator;
-
-import org.slf4j.Marker;
-
-/**
- * Test Marker that may contain no reference/parent Markers.
- * @see <a href="https://issues.apache.org/jira/browse/LOG4J2-793">LOG4J2-793</a>
- */
-public class CustomFlatMarker implements Marker {
-    private static final long serialVersionUID = -4115520883240247266L;
-
-    private final String name;
-
-    public CustomFlatMarker(final String name) {
-        this.name = name;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    @Override
-    public void add(final Marker reference) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean remove(final Marker reference) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean hasChildren() {
-        return hasReferences();
-    }
-
-    @Override
-    public boolean hasReferences() {
-        return false;
-    }
-
-    @Override
-    public Iterator<Marker> iterator() {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public boolean contains(final Marker other) {
-        return false;
-    }
-
-    @Override
-    public boolean contains(final String name) {
-        return false;
-    }
-}
diff --git a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/Log4j1222Test.java b/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/Log4j1222Test.java
deleted file mode 100644
index 59f69e0d2d..0000000000
--- a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/Log4j1222Test.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.junit.Assert.*;
-
-/**
- * Tests logging during shutdown.
- */
-public class Log4j1222Test
-{
-
-	@Test
-	public void homepageRendersSuccessfully()
-	{
-        System.setProperty("log4j.configurationFile", "log4j2-console.xml");
-		Runtime.getRuntime().addShutdownHook(new ShutdownHook());
-	}
-
-	private static class ShutdownHook extends Thread {
-
-		private static class Holder {
-			private static final Logger LOGGER = LoggerFactory.getLogger(Log4j1222Test.class);
-		}
-
-		@Override
-		public void run()
-		{
-			super.run();
-			trigger();
-		}
-
-		private void trigger() {
-			Holder.LOGGER.info("Attempt to trigger");
-			assertTrue("Logger is of type " + Holder.LOGGER.getClass().getName(), Holder.LOGGER instanceof Log4jLogger);
-
-		}
-	}
-}
diff --git a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/Log4j2_1482_Slf4jTest.java b/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/Log4j2_1482_Slf4jTest.java
deleted file mode 100644
index 2f338baf87..0000000000
--- a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/Log4j2_1482_Slf4jTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.logging.slf4j;
-
-import org.apache.logging.log4j.core.test.layout.Log4j2_1482_Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Tests https://issues.apache.org/jira/browse/LOG4J2-1482
- */
-public class Log4j2_1482_Slf4jTest extends Log4j2_1482_Test {
-
-	@Override
-	protected void log(final int runNumber) {
-		if (runNumber == 2) {
-			// System.out.println("Set a breakpoint here.");
-		}
-		final Logger logger = LoggerFactory.getLogger("auditcsvfile");
-		final int val1 = 9, val2 = 11, val3 = 12;
-		logger.info("Info Message!", val1, val2, val3);
-		logger.info("Info Message!", val1, val2, val3);
-		logger.info("Info Message!", val1, val2, val3);
-	}
-
-}
diff --git a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/Log4jMarkerTest.java b/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/Log4jMarkerTest.java
deleted file mode 100644
index ac6ad22b39..0000000000
--- a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/Log4jMarkerTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-import org.apache.logging.log4j.Marker;
-import org.apache.logging.log4j.MarkerManager;
-import org.junit.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-public class Log4jMarkerTest {
-
-    private static Log4jMarkerFactory markerFactory;
-
-    @BeforeClass
-    public static void startup() {
-        markerFactory = ((Log4jLoggerFactory) org.slf4j.LoggerFactory.getILoggerFactory()).getMarkerFactory();
-
-    }
-
-	@Test
-	public void testEquals() {
-		final Marker markerA = MarkerManager.getMarker(Log4jMarkerTest.class.getName() + "-A");
-		final Marker markerB = MarkerManager.getMarker(Log4jMarkerTest.class.getName() + "-B");
-		final Log4jMarker marker1 = new Log4jMarker(markerFactory, markerA);
-		final Log4jMarker marker2 = new Log4jMarker(markerFactory, markerA);
-		final Log4jMarker marker3 = new Log4jMarker(markerFactory, markerB);
-		Assert.assertEquals(marker1, marker2);
-		Assert.assertNotEquals(marker1, null);
-		Assert.assertNotEquals(null, marker1);
-		Assert.assertNotEquals(marker1, marker3);
-	}
-}
diff --git a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/LoggerContextTest.java b/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/LoggerContextTest.java
deleted file mode 100644
index 3c6403c93b..0000000000
--- a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/LoggerContextTest.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-import org.apache.logging.log4j.core.LifeCycle;
-import org.apache.logging.log4j.spi.LoggerContext;
-import org.junit.Test;
-import org.slf4j.LoggerFactory;
-
-import java.util.Set;
-
-import static org.junit.Assert.assertTrue;
-
-/**
- * Tests cleanup of the LoggerContexts.
- */
-public class LoggerContextTest {
-
-    @Test
-    public void testCleanup() throws Exception {
-        Log4jLoggerFactory factory = (Log4jLoggerFactory) LoggerFactory.getILoggerFactory();
-        factory.getLogger("test");
-        Set<LoggerContext> set = factory.getLoggerContexts();
-        LoggerContext ctx1 = set.toArray(new LoggerContext[0])[0];
-        assertTrue("LoggerContext is not enabled for shutdown", ctx1 instanceof LifeCycle);
-        ((LifeCycle) ctx1).stop();
-        set = factory.getLoggerContexts();
-        assertTrue("Expected no LoggerContexts", set.isEmpty());
-    }
-}
diff --git a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/LoggerTest.java b/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/LoggerTest.java
deleted file mode 100644
index bc34a72f12..0000000000
--- a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/LoggerTest.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import java.util.List;
-
-import org.apache.logging.log4j.core.test.junit.LoggerContextRule;
-import org.apache.logging.log4j.core.test.appender.ListAppender;
-import org.apache.logging.log4j.util.Strings;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.slf4j.MDC;
-import org.slf4j.Marker;
-import org.slf4j.ext.XLogger;
-import org.slf4j.ext.XLoggerFactory;
-import org.slf4j.spi.LocationAwareLogger;
-
-/**
- *
- */
-public class LoggerTest {
-
-    private static final String CONFIG = "log4j-test1.xml";
-
-    @ClassRule
-    public static LoggerContextRule ctx = new LoggerContextRule(CONFIG);
-
-    Logger logger = LoggerFactory.getLogger("LoggerTest");
-    XLogger xlogger = XLoggerFactory.getXLogger("LoggerTest");
-
-    @Test
-    public void basicFlow() {
-        xlogger.entry();
-        verify("List", "o.a.l.s.LoggerTest entry MDC{}" + Strings.LINE_SEPARATOR);
-        xlogger.exit();
-        verify("List", "o.a.l.s.LoggerTest exit MDC{}" + Strings.LINE_SEPARATOR);
-    }
-
-    @Test
-    public void simpleFlow() {
-        xlogger.entry(CONFIG);
-        verify("List", "o.a.l.s.LoggerTest entry with (log4j-test1.xml) MDC{}" + Strings.LINE_SEPARATOR);
-        xlogger.exit(0);
-        verify("List", "o.a.l.s.LoggerTest exit with (0) MDC{}" + Strings.LINE_SEPARATOR);
-    }
-
-    @Test
-    public void throwing() {
-        xlogger.throwing(new IllegalArgumentException("Test Exception"));
-        verify("List", "o.a.l.s.LoggerTest throwing MDC{}" + Strings.LINE_SEPARATOR);
-    }
-
-    @Test
-    public void catching() {
-        try {
-            throw new NullPointerException();
-        } catch (final Exception e) {
-            xlogger.catching(e);
-            verify("List", "o.a.l.s.LoggerTest catching MDC{}" + Strings.LINE_SEPARATOR);
-        }
-    }
-
-    @Test
-    public void debug() {
-        logger.debug("Debug message");
-        verify("List", "o.a.l.s.LoggerTest Debug message MDC{}" + Strings.LINE_SEPARATOR);
-    }
-
-    @Test
-    public void debugNoParms() {
-        logger.debug("Debug message {}");
-        verify("List", "o.a.l.s.LoggerTest Debug message {} MDC{}" + Strings.LINE_SEPARATOR);
-        logger.debug("Debug message {}", (Object[]) null);
-        verify("List", "o.a.l.s.LoggerTest Debug message {} MDC{}" + Strings.LINE_SEPARATOR);
-        ((LocationAwareLogger)logger).log(null, Log4jLogger.class.getName(), LocationAwareLogger.DEBUG_INT,
-            "Debug message {}", null, null);
-        verify("List", "o.a.l.s.LoggerTest Debug message {} MDC{}" + Strings.LINE_SEPARATOR);
-    }
-
-
-    @Test
-    public void debugWithParms() {
-        logger.debug("Hello, {}", "World");
-        verify("List", "o.a.l.s.LoggerTest Hello, World MDC{}" + Strings.LINE_SEPARATOR);
-    }
-
-    @Test
-    public void mdc() {
-
-        MDC.put("TestYear", "2010");
-        logger.debug("Debug message");
-        verify("List", "o.a.l.s.LoggerTest Debug message MDC{TestYear=2010}" + Strings.LINE_SEPARATOR);
-        MDC.clear();
-        logger.debug("Debug message");
-        verify("List", "o.a.l.s.LoggerTest Debug message MDC{}" + Strings.LINE_SEPARATOR);
-    }
-
-    /**
-     * @see <a href="https://issues.apache.org/jira/browse/LOG4J2-793">LOG4J2-793</a>
-     */
-    @Test
-    public void supportsCustomSLF4JMarkers() {
-        final Marker marker = new CustomFlatMarker("TEST");
-        logger.debug(marker, "Test");
-        verify("List", "o.a.l.s.LoggerTest Test MDC{}" + Strings.LINE_SEPARATOR);
-    }
-
-    @Test
-    public void testRootLogger() {
-        final Logger l = LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
-        assertNotNull("No Root Logger", l);
-        assertEquals(Logger.ROOT_LOGGER_NAME, l.getName());
-    }
-
-    @Test
-    public void doubleSubst() {
-        logger.debug("Hello, {}", "Log4j {}");
-        verify("List", "o.a.l.s.LoggerTest Hello, Log4j {} MDC{}" + Strings.LINE_SEPARATOR);
-        xlogger.debug("Hello, {}", "Log4j {}");
-        verify("List", "o.a.l.s.LoggerTest Hello, Log4j Log4j {} MDC{}" + Strings.LINE_SEPARATOR);
-    }
-
-    private void verify(final String name, final String expected) {
-        final ListAppender listApp = ctx.getListAppender(name);
-        assertNotNull("Missing Appender", listApp);
-        final List<String> events = listApp.getMessages();
-        assertTrue("Incorrect number of messages. Expected 1 Actual " + events.size(), events.size()== 1);
-        final String actual = events.get(0);
-        assertEquals("Incorrect message. Expected " + expected + ". Actual " + actual, expected, actual);
-        listApp.clear();
-    }
-
-    @Before
-    @After
-    public void cleanup() {
-        MDC.clear();
-        ctx.getListAppender("List").clear();
-    }
-}
diff --git a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/MarkerTest.java b/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/MarkerTest.java
deleted file mode 100644
index c078fe03fe..0000000000
--- a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/MarkerTest.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-import org.apache.logging.log4j.Marker;
-import org.apache.logging.log4j.MarkerManager;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- *
- */
-public class MarkerTest {
-
-	private static final String CHILD_MAKER_NAME = MarkerTest.class.getSimpleName() + "-TEST";
-	private static final String PARENT_MARKER_NAME = MarkerTest.class.getSimpleName() + "-PARENT";
-	private static Log4jMarkerFactory markerFactory;
-
-	@BeforeClass
-    public static void startup() {
-	    markerFactory = ((Log4jLoggerFactory) org.slf4j.LoggerFactory.getILoggerFactory()).getMarkerFactory();
-
-    }
-
-    @Before
-	@After
-	public void clearMarkers() {
-		MarkerManager.clear();
-	}
-
-	@Test
-	public void testAddMarker() {
-		final String childMakerName = CHILD_MAKER_NAME + "-AM";
-		final String parentMarkerName = PARENT_MARKER_NAME + "-AM";
-		final org.slf4j.Marker slf4jMarker = org.slf4j.MarkerFactory.getMarker(childMakerName);
-		final org.slf4j.Marker slf4jParent = org.slf4j.MarkerFactory.getMarker(parentMarkerName);
-		slf4jMarker.add(slf4jParent);
-		final Marker log4jParent = MarkerManager.getMarker(parentMarkerName);
-		final Marker log4jMarker = MarkerManager.getMarker(childMakerName);
-
-		assertTrue("Incorrect Marker class", slf4jMarker instanceof Log4jMarker);
-		assertTrue(String.format("%s (log4jMarker=%s) is not an instance of %s (log4jParent=%s) in Log4j",
-				childMakerName, parentMarkerName, log4jMarker, log4jParent), log4jMarker.isInstanceOf(log4jParent));
-		assertTrue(String.format("%s (slf4jMarker=%s) is not an instance of %s (log4jParent=%s) in SLF4J",
-				childMakerName, parentMarkerName, slf4jMarker, slf4jParent), slf4jMarker.contains(slf4jParent));
-	}
-
-	@Test
-	public void testAddNullMarker() {
-		final String childMarkerName = CHILD_MAKER_NAME + "-ANM";
-		final String parentMakerName = PARENT_MARKER_NAME + "-ANM";
-		final org.slf4j.Marker slf4jMarker = org.slf4j.MarkerFactory.getMarker(childMarkerName);
-		final org.slf4j.Marker slf4jParent = org.slf4j.MarkerFactory.getMarker(parentMakerName);
-		slf4jMarker.add(slf4jParent);
-		final Marker log4jParent = MarkerManager.getMarker(parentMakerName);
-		final Marker log4jMarker = MarkerManager.getMarker(childMarkerName);
-		final Log4jMarker log4jSlf4jParent = new Log4jMarker(markerFactory, log4jParent);
-		final Log4jMarker log4jSlf4jMarker = new Log4jMarker(markerFactory, log4jMarker);
-		final org.slf4j.Marker nullMarker = null;
-		try {
-			log4jSlf4jParent.add(nullMarker);
-			fail("Expected " + IllegalArgumentException.class.getName());
-		} catch (final IllegalArgumentException e) {
-			// expected
-		}
-		try {
-			log4jSlf4jMarker.add(nullMarker);
-			fail("Expected " + IllegalArgumentException.class.getName());
-		} catch (final IllegalArgumentException e) {
-			// expected
-		}
-	}
-
-	@Test
-	public void testAddSameMarker() {
-		final String childMarkerName = CHILD_MAKER_NAME + "-ASM";
-		final String parentMakerName = PARENT_MARKER_NAME + "-ASM";
-		final org.slf4j.Marker slf4jMarker = org.slf4j.MarkerFactory.getMarker(childMarkerName);
-		final org.slf4j.Marker slf4jParent = org.slf4j.MarkerFactory.getMarker(parentMakerName);
-		slf4jMarker.add(slf4jParent);
-		slf4jMarker.add(slf4jParent);
-		final Marker log4jParent = MarkerManager.getMarker(parentMakerName);
-		final Marker log4jMarker = MarkerManager.getMarker(childMarkerName);
-		assertTrue(String.format("%s (log4jMarker=%s) is not an instance of %s (log4jParent=%s) in Log4j",
-				childMarkerName, parentMakerName, log4jMarker, log4jParent), log4jMarker.isInstanceOf(log4jParent));
-		assertTrue(String.format("%s (slf4jMarker=%s) is not an instance of %s (log4jParent=%s) in SLF4J",
-				childMarkerName, parentMakerName, slf4jMarker, slf4jParent), slf4jMarker.contains(slf4jParent));
-	}
-
-	@Test
-	public void testEquals() {
-		final String childMarkerName = CHILD_MAKER_NAME + "-ASM";
-		final String parentMakerName = PARENT_MARKER_NAME + "-ASM";
-		final org.slf4j.Marker slf4jMarker = org.slf4j.MarkerFactory.getMarker(childMarkerName);
-		final org.slf4j.Marker slf4jMarker2 = org.slf4j.MarkerFactory.getMarker(childMarkerName);
-		final org.slf4j.Marker slf4jParent = org.slf4j.MarkerFactory.getMarker(parentMakerName);
-		slf4jMarker.add(slf4jParent);
-		final Marker log4jParent = MarkerManager.getMarker(parentMakerName);
-		final Marker log4jMarker = MarkerManager.getMarker(childMarkerName);
-		final Marker log4jMarker2 = MarkerManager.getMarker(childMarkerName);
-		assertEquals(log4jParent, log4jParent);
-		assertEquals(log4jMarker, log4jMarker);
-		assertEquals(log4jMarker, log4jMarker2);
-		assertEquals(slf4jMarker, slf4jMarker2);
-		assertNotEquals(log4jParent, log4jMarker);
-		assertNotEquals(log4jMarker, log4jParent);
-	}
-
-	@Test
-	public void testContainsNullMarker() {
-		final String childMarkerName = CHILD_MAKER_NAME + "-CM";
-		final String parentMakerName = PARENT_MARKER_NAME + "-CM";
-		final org.slf4j.Marker slf4jMarker = org.slf4j.MarkerFactory.getMarker(childMarkerName);
-		final org.slf4j.Marker slf4jParent = org.slf4j.MarkerFactory.getMarker(parentMakerName);
-		slf4jMarker.add(slf4jParent);
-		final Marker log4jParent = MarkerManager.getMarker(parentMakerName);
-		final Marker log4jMarker = MarkerManager.getMarker(childMarkerName);
-		final Log4jMarker log4jSlf4jParent = new Log4jMarker(markerFactory, log4jParent);
-		final Log4jMarker log4jSlf4jMarker = new Log4jMarker(markerFactory, log4jMarker);
-		final org.slf4j.Marker nullMarker = null;
-		try {
-			Assert.assertFalse(log4jSlf4jParent.contains(nullMarker));
-			fail("Expected " + IllegalArgumentException.class.getName());
-		} catch (final IllegalArgumentException e) {
-			// expected
-		}
-		try {
-			Assert.assertFalse(log4jSlf4jMarker.contains(nullMarker));
-			fail("Expected " + IllegalArgumentException.class.getName());
-		} catch (final IllegalArgumentException e) {
-			// expected
-		}
-	}
-
-	@Test
-	public void testContainsNullString() {
-		final String childMarkerName = CHILD_MAKER_NAME + "-CS";
-		final String parentMakerName = PARENT_MARKER_NAME + "-CS";
-		final org.slf4j.Marker slf4jMarker = org.slf4j.MarkerFactory.getMarker(childMarkerName);
-		final org.slf4j.Marker slf4jParent = org.slf4j.MarkerFactory.getMarker(parentMakerName);
-		slf4jMarker.add(slf4jParent);
-		final Marker log4jParent = MarkerManager.getMarker(parentMakerName);
-		final Marker log4jMarker = MarkerManager.getMarker(childMarkerName);
-		final Log4jMarker log4jSlf4jParent = new Log4jMarker(markerFactory, log4jParent);
-		final Log4jMarker log4jSlf4jMarker = new Log4jMarker(markerFactory, log4jMarker);
-		final String nullStr = null;
-		Assert.assertFalse(log4jSlf4jParent.contains(nullStr));
-		Assert.assertFalse(log4jSlf4jMarker.contains(nullStr));
-	}
-
-	@Test
-	public void testRemoveNullMarker() {
-		final String childMakerName = CHILD_MAKER_NAME + "-CM";
-		final String parentMakerName = PARENT_MARKER_NAME + "-CM";
-		final org.slf4j.Marker slf4jMarker = org.slf4j.MarkerFactory.getMarker(childMakerName);
-		final org.slf4j.Marker slf4jParent = org.slf4j.MarkerFactory.getMarker(parentMakerName);
-		slf4jMarker.add(slf4jParent);
-		final Marker log4jParent = MarkerManager.getMarker(parentMakerName);
-		final Marker log4jMarker = MarkerManager.getMarker(childMakerName);
-		final Log4jMarker log4jSlf4jParent = new Log4jMarker(markerFactory, log4jParent);
-		final Log4jMarker log4jSlf4jMarker = new Log4jMarker(markerFactory, log4jMarker);
-		final org.slf4j.Marker nullMarker = null;
-		Assert.assertFalse(log4jSlf4jParent.remove(nullMarker));
-		Assert.assertFalse(log4jSlf4jMarker.remove(nullMarker));
-	}
-
-}
diff --git a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/OverflowTest.java b/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/OverflowTest.java
deleted file mode 100644
index b12facb41c..0000000000
--- a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/OverflowTest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * 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.
- */
-
-package org.apache.logging.slf4j;
-
-import org.apache.logging.log4j.LoggingException;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.junit.Assert.fail;
-
-/**
- * Tests StackOverflow when slf4j-impl and to-slf4j are both present.
- */
-public class OverflowTest {
-
-	@Test
-	public void log() {
-		try {
-			final Logger logger = LoggerFactory.getLogger(OverflowTest.class);
-			fail("Failed to detect inclusion of log4j-to-slf4j");
-		} catch (LoggingException ex) {
-			// Expected exception.
-		} catch (StackOverflowError error) {
-			fail("Failed to detect inclusion of log4j-to-slf4j, caught StackOverflowError");
-		}
-	}
-}
diff --git a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/SerializeTest.java b/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/SerializeTest.java
deleted file mode 100644
index cd74979eed..0000000000
--- a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/SerializeTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.
- */
-package org.apache.logging.slf4j;
-
-import java.io.Serializable;
-
-import org.apache.logging.log4j.core.test.junit.LoggerContextRule;
-import org.junit.ClassRule;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static org.apache.logging.log4j.test.SerializableMatchers.serializesRoundTrip;
-import static org.junit.Assert.*;
-
-/**
- *
- */
-public class SerializeTest {
-
-    private static final String CONFIG = "log4j-test1.xml";
-
-    @ClassRule
-    public static final LoggerContextRule CTX = new LoggerContextRule(CONFIG);
-
-    Logger logger = LoggerFactory.getLogger("LoggerTest");
-
-    @Test
-    public void testLogger() throws Exception {
-        assertThat((Serializable) logger, serializesRoundTrip());
-    }
-}
diff --git a/log4j-slf4j18-impl/src/test/resources/log4j-test1.xml b/log4j-slf4j18-impl/src/test/resources/log4j-test1.xml
deleted file mode 100644
index 07a2be6316..0000000000
--- a/log4j-slf4j18-impl/src/test/resources/log4j-test1.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration status="error" name="LoggerTest">
-  <properties>
-    <property name="filename">target/test.log</property>
-  </properties>
-  <ThresholdFilter level="trace"/>
-
-  <Appenders>
-    <Console name="STDOUT">
-      <PatternLayout pattern="%C{1.} %m MDC%X%n"/>
-    </Console>
-    <File name="File" fileName="${filename}">
-      <PatternLayout>
-        <pattern>%d %p %C{1.} [%t] %m%n</pattern>
-      </PatternLayout>
-    </File>
-    <List name="List">
-      <PatternLayout pattern="%C{1.} %m MDC%X%n%ex{0}"/>
-    </List>
-    <SLF4J name="SLF4J"/>
-  </Appenders>
-
-  <Loggers>
-    <Logger name="org.apache.logging.log4j.test2" level="debug" additivity="false">
-      <AppenderRef ref="File"/>
-    </Logger>
-
-    <Root level="trace">
-      <AppenderRef ref="List"/>
-    </Root>
-  </Loggers>
-
-</configuration>
diff --git a/log4j-slf4j18-impl/src/test/resources/log4j2-1482.xml b/log4j-slf4j18-impl/src/test/resources/log4j2-1482.xml
deleted file mode 100644
index e17953ca93..0000000000
--- a/log4j-slf4j18-impl/src/test/resources/log4j2-1482.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Configuration status="warn" name="MyApp" packages="">
-  <Properties>
-    <Property name="audit-path">target/log4j2-1482</Property>
-    <Property name="file-name">audit</Property>
-    <Property name="file-header">param1,param2,param3${sys:line.separator}
-    </Property>
-  </Properties>
-
-  <Appenders>
-    <RollingFile name="auditfile" fileName="${audit-path}/${file-name}.tmp"
-      filePattern="${audit-path}/${file-name}-%d{yyyy-MM-dd}-%i.csv">
-      <CsvParameterLayout delimiter="," header="${file-header}">
-      </CsvParameterLayout>
-      <Policies>
-        <SizeBasedTriggeringPolicy size="80 B" />
-      </Policies>
-      <DefaultRolloverStrategy max="2" />
-    </RollingFile>
-  </Appenders>
-
-  <Loggers>
-    <Root level="info">
-      <AppenderRef ref="auditfile" />
-    </Root>
-  </Loggers>
-</Configuration>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 97e340d720..1cbdea5c01 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1649,7 +1649,6 @@
     <module>log4j-redis</module>
     <module>log4j-samples</module>
     <module>log4j-script</module>
-    <module>log4j-slf4j18-impl</module>
     <module>log4j-slf4j20-impl</module>
     <module>log4j-slf4j-impl</module>
     <module>log4j-smtp</module>