diff --git a/pom.xml b/pom.xml
index 23d647724..e1ddfe053 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,6 @@
spring-data-mongodb
spring-data-mongodb-cross-store
- spring-data-mongodb-log4j
spring-data-mongodb-distribution
diff --git a/spring-data-mongodb-log4j/README.md b/spring-data-mongodb-log4j/README.md
deleted file mode 100644
index 9e4d04caf..000000000
--- a/spring-data-mongodb-log4j/README.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# MongoDB Log4J Appender
-
-:warning: Deprecated. About to be removed for 2.0.0.RC1.
-
-This module sets up a Log4J appender that puts logging events in MongoDB. It is fully configurable
-and connects directly to the MongoDB server using the driver. It has no dependency on any Spring package.
-
-To use it, configure a host, port, (optionally) applicationId, and database property in your Log4J configuration:
-
- log4j.appender.stdout=org.springframework.data.mongodb.log4j.MongoLog4jAppender
- log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
- log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n
- log4j.appender.stdout.host = localhost
- log4j.appender.stdout.port = 27017
- log4j.appender.stdout.database = logs
- log4j.appender.stdout.collectionPattern = %c
- log4j.appender.stdout.applicationId = my.application
- log4j.appender.stdout.warnOrHigherWriteConcern = FSYNC_SAFE
-
-It will even support properties in your MDC (so long as they're Strings or support .toString()).
-
-The collection name is configurable as well. If you don't specify anything, it will use the Category name.
-If you want to specify a collection name, you can give it a Log4J pattern layout format string which will have
-the following additional MDC variables in the context when the collection name is rendered:
-
- "year" = Calendar.YEAR
- "month" = Calendar.MONTH + 1
- "day" = Calendar.DAY_OF_MONTH
- "hour" = Calendar.HOUR_OF_DAY
- "applicationId" = configured applicationId
-
-An example log entry might look like:
-
- {
- "_id" : ObjectId("4d89341a8ef397e06940d5cd"),
- "applicationId" : "my.application",
- "name" : "org.springframework.data.mongodb.log4j.MongoLog4jAppenderIntegrationTests",
- "level" : "DEBUG",
- "timestamp" : ISODate("2011-03-23T16:53:46.778Z"),
- "properties" : {
- "property" : "one"
- },
- "message" : "DEBUG message"
- }
-
-To set WriteConcern levels for WARN or higher messages, set warnOrHigherWriteConcern to one of the following:
-
-* FSYNC_SAFE
-* NONE
-* NORMAL
-* REPLICAS_SAFE
-* SAFE
-
-[http://api.mongodb.org/java/2.5-pre-/com/mongodb/WriteConcern.html#field_detail](http://api.mongodb.org/java/2.5-pre-/com/mongodb/WriteConcern.html#field_detail)
\ No newline at end of file
diff --git a/spring-data-mongodb-log4j/pom.xml b/spring-data-mongodb-log4j/pom.xml
deleted file mode 100644
index 50d0a6454..000000000
--- a/spring-data-mongodb-log4j/pom.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
- 4.0.0
-
-
- org.springframework.data
- spring-data-mongodb-parent
- 2.0.0.BUILD-SNAPSHOT
- ../pom.xml
-
-
- spring-data-mongodb-log4j
- Spring Data MongoDB - Log4J Appender
-
-
- 1.2.16
-
-
-
-
-
-
- log4j
- log4j
- ${log4j}
-
-
-
-
-
diff --git a/spring-data-mongodb-log4j/src/main/java/org/springframework/data/mongodb/log4j/MongoLog4jAppender.java b/spring-data-mongodb-log4j/src/main/java/org/springframework/data/mongodb/log4j/MongoLog4jAppender.java
deleted file mode 100644
index f3c9c1b7c..000000000
--- a/spring-data-mongodb-log4j/src/main/java/org/springframework/data/mongodb/log4j/MongoLog4jAppender.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Copyright 2011-2016 the original author or authors.
- *
- * Licensed 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.springframework.data.mongodb.log4j;
-
-import java.net.UnknownHostException;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.log4j.AppenderSkeleton;
-import org.apache.log4j.Level;
-import org.apache.log4j.MDC;
-import org.apache.log4j.PatternLayout;
-import org.apache.log4j.spi.LoggingEvent;
-
-import com.mongodb.BasicDBList;
-import com.mongodb.BasicDBObject;
-import com.mongodb.DB;
-import com.mongodb.Mongo;
-import com.mongodb.MongoClient;
-import com.mongodb.MongoCredential;
-import com.mongodb.ServerAddress;
-import com.mongodb.WriteConcern;
-
-/**
- * Log4j appender writing log entries into a MongoDB instance.
- *
- * @author Jon Brisbin
- * @author Oliver Gierke
- * @author Christoph Strobl
- * @author Ricardo Espirito Santo
- * @deprecated since 2.0.0.M4. About to be removed for 2.0.0.RC1.
- */
-@Deprecated
-public class MongoLog4jAppender extends AppenderSkeleton {
-
- public static final String LEVEL = "level";
- public static final String NAME = "name";
- public static final String APP_ID = "applicationId";
- public static final String TIMESTAMP = "timestamp";
- public static final String PROPERTIES = "properties";
- public static final String TRACEBACK = "traceback";
- public static final String MESSAGE = "message";
- public static final String YEAR = "year";
- public static final String MONTH = "month";
- public static final String DAY = "day";
- public static final String HOUR = "hour";
-
- protected String host = "localhost";
- protected int port = 27017;
- protected String username;
- protected String password;
- protected String authenticationDatabase;
- protected String database = "logs";
- protected String collectionPattern = "%c";
- protected PatternLayout collectionLayout = new PatternLayout(collectionPattern);
- protected String applicationId = System.getProperty("APPLICATION_ID", null);
- protected WriteConcern warnOrHigherWriteConcern = WriteConcern.ACKNOWLEDGED;
- protected WriteConcern infoOrLowerWriteConcern = WriteConcern.UNACKNOWLEDGED;
- protected Mongo mongo;
- protected DB db;
-
- public MongoLog4jAppender() {}
-
- public MongoLog4jAppender(boolean isActive) {
- super(isActive);
- }
-
- public String getHost() {
- return host;
- }
-
- public void setHost(String host) {
- this.host = host;
- }
-
- public int getPort() {
- return port;
- }
-
- public void setPort(int port) {
- this.port = port;
- }
-
- /**
- * @return
- * @since 1.10
- */
- public String getUsername() {
- return username;
- }
-
- /**
- * @param username may be {@literal null} for unauthenticated access.
- * @since 1.10
- */
- public void setUsername(String username) {
- this.username = username;
- }
-
- /**
- * @return
- * @since 1.10
- */
- public String getPassword() {
- return password;
- }
-
- /**
- * @param password may be {@literal null} for unauthenticated access.
- * @since 1.10
- */
- public void setPassword(String password) {
- this.password = password;
- }
-
- /**
- * @return
- */
- public String getAuthenticationDatabase() {
- return authenticationDatabase;
- }
-
- /**
- * @param authenticationDatabase may be {@literal null} to use {@link #getDatabase()} as authentication database.
- * @since 1.10
- */
- public void setAuthenticationDatabase(String authenticationDatabase) {
- this.authenticationDatabase = authenticationDatabase;
- }
-
- public String getDatabase() {
- return database;
- }
-
- public void setDatabase(String database) {
- this.database = database;
- }
-
- public String getCollectionPattern() {
- return collectionPattern;
- }
-
- public void setCollectionPattern(String collectionPattern) {
- this.collectionPattern = collectionPattern;
- this.collectionLayout = new PatternLayout(collectionPattern);
- }
-
- public String getApplicationId() {
- return applicationId;
- }
-
- public void setApplicationId(String applicationId) {
- this.applicationId = applicationId;
- }
-
- public String getWarnOrHigherWriteConcern() {
- return warnOrHigherWriteConcern.toString();
- }
-
- public void setWarnOrHigherWriteConcern(String wc) {
- this.warnOrHigherWriteConcern = WriteConcern.valueOf(wc);
- }
-
- public String getInfoOrLowerWriteConcern() {
- return infoOrLowerWriteConcern.toString();
- }
-
- public void setInfoOrLowerWriteConcern(String wc) {
- this.infoOrLowerWriteConcern = WriteConcern.valueOf(wc);
- }
-
- protected void connectToMongo() throws UnknownHostException {
-
- this.mongo = createMongoClient();
- this.db = mongo.getDB(database);
- }
-
- private MongoClient createMongoClient() throws UnknownHostException {
-
- ServerAddress serverAddress = new ServerAddress(host, port);
-
- if (null == password || null == username) {
- return new MongoClient(serverAddress);
- }
-
- String authenticationDatabaseToUse = authenticationDatabase == null ? this.database : authenticationDatabase;
- MongoCredential mongoCredential = MongoCredential.createCredential(username,
- authenticationDatabaseToUse, password.toCharArray());
- List credentials = Collections.singletonList(mongoCredential);
- return new MongoClient(serverAddress, credentials);
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.log4j.AppenderSkeleton#append(org.apache.log4j.spi.LoggingEvent)
- */
- @Override
- @SuppressWarnings({ "unchecked" })
- protected void append(final LoggingEvent event) {
- if (null == db) {
- try {
- connectToMongo();
- } catch (UnknownHostException e) {
- throw new RuntimeException(e.getMessage(), e);
- }
- }
-
- BasicDBObject dbo = new BasicDBObject();
- if (null != applicationId) {
- dbo.put(APP_ID, applicationId);
- MDC.put(APP_ID, applicationId);
- }
- dbo.put(NAME, event.getLogger().getName());
- dbo.put(LEVEL, event.getLevel().toString());
- Calendar tstamp = Calendar.getInstance();
- tstamp.setTimeInMillis(event.getTimeStamp());
- dbo.put(TIMESTAMP, tstamp.getTime());
-
- // Copy properties into document
- Map