diff --git a/build.gradle b/build.gradle
index 1f1ef12be1b1446d6ab1b15637a96fe433af423b..1026ba08a5a3b543d63d88e5f0ebcea8c316a0ba 100644
--- a/build.gradle
+++ b/build.gradle
@@ -24,12 +24,14 @@ dependencies {
     compile 'commons-io:commons-io:2.1'
     compile 'de.flapdoodle.embed:de.flapdoodle.embed.process:1.40.1'
     compile 'org.mongodb:mongo-java-driver:2.11.3'
+    compile 'org.slf4j:slf4j-api:1.7.10'
 
     testCompile 'junit:junit:4.11'
     testCompile 'org.mongodb:mongo-java-driver:2.6.3'
     testCompile 'org.mockito:mockito-core:1.9.0'
     testCompile 'org.mortbay.jetty:jetty:6.1.25'
     testCompile 'com.google.guava:guava:14.0.1'
+    testCompile 'org.slf4j:slf4j-simple:1.7.10'
 }
 
 task wrapper(type: Wrapper) {
diff --git a/pom.xml b/pom.xml
index 75bd5a381e2376b31fd5f0e9f0498edcdf869d13..f3adfdb0030b034e0676295141952823b498cf18 100644
--- a/pom.xml
+++ b/pom.xml
@@ -284,7 +284,8 @@
 			de.flapdoodle.embed.process.io.progress,
 			de.flapdoodle.embed.process.runtime,
 			de.flapdoodle.embed.process.store,
-			org.apache.commons.io
+			org.apache.commons.io,
+			org.slf4j
 		</osgi.import>
 	</properties>
 	
@@ -299,7 +300,13 @@
 		<dependency>
 			<groupId>de.flapdoodle.embed</groupId>
 			<artifactId>de.flapdoodle.embed.process</artifactId>
-			<version>1.40.1</version>
+			<version>1.40.2-SNAPSHOT</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-api</artifactId>
+			<version>1.7.10</version>
 		</dependency>
 
 		<dependency>
@@ -328,5 +335,12 @@
 			<version>6.1.25</version>
 			<scope>test</scope>
 		</dependency>
+
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-simple</artifactId>
+			<version>1.7.10</version>
+			<scope>test</scope>
+		</dependency>
 	</dependencies>
 </project>
diff --git a/src/main/java/de/flapdoodle/embed/mongo/AbstractMongoProcess.java b/src/main/java/de/flapdoodle/embed/mongo/AbstractMongoProcess.java
index 743dcfa4287eb29fba7b5228c69b712ad4d2a5bc..39fba3cb3c14855a17da2d77d3637d1fc08bfe80 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/AbstractMongoProcess.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/AbstractMongoProcess.java
@@ -24,8 +24,8 @@ import java.io.IOException;
 import java.net.UnknownHostException;
 import java.util.HashSet;
 import java.util.Set;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import de.flapdoodle.embed.mongo.config.IMongoConfig;
 import de.flapdoodle.embed.mongo.runtime.Mongod;
@@ -43,7 +43,7 @@ import de.flapdoodle.embed.process.runtime.ProcessControl;
 
 public abstract class AbstractMongoProcess<T extends IMongoConfig, E extends Executable<T, P>, P extends IStopable> extends AbstractProcess<T, E, P> {
 
-	private static Logger logger = Logger.getLogger(AbstractMongoProcess.class.getName());
+	private static Logger logger = LoggerFactory.getLogger(AbstractMongoProcess.class);
 	
 	boolean stopped=false;
 	
@@ -95,13 +95,13 @@ public abstract class AbstractMongoProcess<T extends IMongoConfig, E extends Exe
 
 				stopped = true;
 
-				logger.fine("try to stop mongod");
+				logger.debug("try to stop mongod");
 				if (!sendStopToMongoInstance()) {
-					logger.warning("could not stop mongod with db command, try next");
+					logger.warn("could not stop mongod with db command, try next");
 					if (!sendKillToProcess()) {
-						logger.warning("could not stop mongod, try next");
+						logger.warn("could not stop mongod, try next");
 						if (!tryKillToProcess()) {
-							logger.warning("could not stop mongod the second time, try one last thing");
+							logger.warn("could not stop mongod the second time, try one last thing");
 						}
 					}
 				}
@@ -124,7 +124,7 @@ public abstract class AbstractMongoProcess<T extends IMongoConfig, E extends Exe
 		try {
 			return Mongod.sendShutdown(getConfig().net().getServerAddress(), getConfig().net().getPort());
 		} catch (UnknownHostException e) {
-			logger.log(Level.SEVERE, "sendStop", e);
+			logger.error("sendStop", e);
 		}
 		return false;
 	}
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongoImportExecutable.java b/src/main/java/de/flapdoodle/embed/mongo/MongoImportExecutable.java
index 85d2aeeb58ea391fcd5daf7300f0eeb7d0ff504e..7c0cfd45ad821b873c74697c33a23988fc6f9150 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongoImportExecutable.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongoImportExecutable.java
@@ -29,7 +29,6 @@ import de.flapdoodle.embed.process.extract.IExtractedFileSet;
 import de.flapdoodle.embed.process.runtime.Executable;
 
 import java.io.IOException;
-import java.util.logging.Logger;
 
 /**
  * Created by canyaman on 10/04/14.
@@ -40,8 +39,6 @@ public class MongoImportExecutable extends Executable<IMongoImportConfig, MongoI
         super(distribution, mongodConfig, runtimeConfig, files);
     }
 
-    private static Logger logger = Logger.getLogger(MongosExecutable.class.getName());
-
     @Override
     protected MongoImportProcess start(Distribution distribution, IMongoImportConfig config, IRuntimeConfig runtime)
             throws IOException {
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongoImportStarter.java b/src/main/java/de/flapdoodle/embed/mongo/MongoImportStarter.java
index b1923a60c6da6dbead69dd412466acb993bc4e92..1292815055a773581941d0cd7390d89e4f4f8ba3 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongoImportStarter.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongoImportStarter.java
@@ -29,15 +29,11 @@ import de.flapdoodle.embed.process.distribution.Distribution;
 import de.flapdoodle.embed.process.extract.IExtractedFileSet;
 import de.flapdoodle.embed.process.runtime.Starter;
 
-import java.util.logging.Logger;
-
 /**
  * Created by canyaman on 10/04/14.
  */
 public class MongoImportStarter extends Starter<IMongoImportConfig,MongoImportExecutable,MongoImportProcess> {
 
-    private static Logger logger = Logger.getLogger(MongosStarter.class.getName());
-
     private MongoImportStarter(IRuntimeConfig config) {
         super(config);
     }
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongoShellProcess.java b/src/main/java/de/flapdoodle/embed/mongo/MongoShellProcess.java
index 4beccf7961e094d91e02b2cf8ea624eaf8332153..2840899046e1f715a9575a71f28d152fdc9f45a2 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongoShellProcess.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongoShellProcess.java
@@ -22,7 +22,6 @@ package de.flapdoodle.embed.mongo;
 
 import java.io.IOException;
 import java.util.List;
-import java.util.logging.Logger;
 
 import de.flapdoodle.embed.mongo.config.IMongoShellConfig;
 import de.flapdoodle.embed.mongo.config.SupportConfig;
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongoShellStarter.java b/src/main/java/de/flapdoodle/embed/mongo/MongoShellStarter.java
index 52944c43297863ab43a1c31c8416f3e22e629a9d..b70472da2735926c40849f07fe2636c1adfd1b73 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongoShellStarter.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongoShellStarter.java
@@ -20,8 +20,6 @@
  */
 package de.flapdoodle.embed.mongo;
 
-import java.util.logging.Logger;
-
 import de.flapdoodle.embed.mongo.config.IMongoShellConfig;
 import de.flapdoodle.embed.mongo.config.RuntimeConfigBuilder;
 import de.flapdoodle.embed.process.config.IRuntimeConfig;
@@ -34,8 +32,6 @@ import de.flapdoodle.embed.process.runtime.Starter;
  */
 public class MongoShellStarter extends Starter<IMongoShellConfig, MongoShellExecutable ,MongoShellProcess> {
 
-	private static Logger logger = Logger.getLogger(MongoShellStarter.class.getName());
-
 	private MongoShellStarter(IRuntimeConfig config) {
 		super(config);
 	}
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongodProcess.java b/src/main/java/de/flapdoodle/embed/mongo/MongodProcess.java
index e9ef83b421c7de8d69dcedfefd480ed703aa2542..bb48ef023ae8236d1a4cda83eccce02d969a0d7a 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongodProcess.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongodProcess.java
@@ -23,7 +23,8 @@ package de.flapdoodle.embed.mongo;
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
-import java.util.logging.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import de.flapdoodle.embed.mongo.config.IMongodConfig;
 import de.flapdoodle.embed.mongo.config.SupportConfig;
@@ -40,7 +41,7 @@ import de.flapdoodle.embed.process.io.file.Files;
  */
 public class MongodProcess extends AbstractMongoProcess<IMongodConfig, MongodExecutable, MongodProcess> {
 
-	private static Logger logger = Logger.getLogger(MongodProcess.class.getName());
+	private static Logger logger = LoggerFactory.getLogger(MongodProcess.class);
 
 	private File dbDir;
 	boolean dbDirIsTemp;
@@ -90,7 +91,7 @@ public class MongodProcess extends AbstractMongoProcess<IMongodConfig, MongodExe
 		super.deleteTempFiles();
 		
 		if ((dbDir != null) && (dbDirIsTemp) && (!Files.forceDelete(dbDir))) {
-			logger.warning("Could not delete temp db dir: " + dbDir);
+			logger.warn("Could not delete temp db dir: {}", dbDir);
 		}
 		
 	}
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongodStarter.java b/src/main/java/de/flapdoodle/embed/mongo/MongodStarter.java
index 7f915ba598cc272c34d37bb0fef57c4900896070..a1f1ac8483bc6eccaeaeafd73243b60161777822 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongodStarter.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongodStarter.java
@@ -20,10 +20,6 @@
  */
 package de.flapdoodle.embed.mongo;
 
-import java.io.File;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
 import de.flapdoodle.embed.mongo.config.IMongodConfig;
 import de.flapdoodle.embed.mongo.config.RuntimeConfigBuilder;
 import de.flapdoodle.embed.mongo.config.SupportConfig;
@@ -39,8 +35,6 @@ import de.flapdoodle.embed.process.runtime.Starter;
  */
 public class MongodStarter extends Starter<IMongodConfig,MongodExecutable,MongodProcess> {
 
-	private static Logger logger = Logger.getLogger(MongodStarter.class.getName());
-
 	private MongodStarter(IRuntimeConfig config) {
 		super(config);
 	}
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongosExecutable.java b/src/main/java/de/flapdoodle/embed/mongo/MongosExecutable.java
index fda8e405c35547162b839f7b26cf3fdaea69e549..c8ce9781f2c49dbeed35c1f31235fd541facdc0b 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongosExecutable.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongosExecutable.java
@@ -20,9 +20,7 @@
  */
 package de.flapdoodle.embed.mongo;
 
-import java.io.File;
 import java.io.IOException;
-import java.util.logging.Logger;
 
 import de.flapdoodle.embed.mongo.config.IMongosConfig;
 import de.flapdoodle.embed.process.config.IRuntimeConfig;
@@ -40,8 +38,6 @@ public class MongosExecutable extends Executable<IMongosConfig, MongosProcess> {
 		super(distribution, mongodConfig, runtimeConfig, files);
 	}
 
-	private static Logger logger = Logger.getLogger(MongosExecutable.class.getName());
-
 	@Override
 	protected MongosProcess start(Distribution distribution, IMongosConfig config, IRuntimeConfig runtime)
 			throws IOException {
diff --git a/src/main/java/de/flapdoodle/embed/mongo/MongosStarter.java b/src/main/java/de/flapdoodle/embed/mongo/MongosStarter.java
index a4bc1e95c8c1068b8d1d16b12f6e83cde2bad24a..0985465712045b36e2df1e8b6c1004eb794ec8cb 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/MongosStarter.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/MongosStarter.java
@@ -20,9 +20,6 @@
  */
 package de.flapdoodle.embed.mongo;
 
-import java.io.File;
-import java.util.logging.Logger;
-
 import de.flapdoodle.embed.mongo.config.IMongosConfig;
 import de.flapdoodle.embed.mongo.config.RuntimeConfigBuilder;
 import de.flapdoodle.embed.process.config.IRuntimeConfig;
@@ -35,8 +32,6 @@ import de.flapdoodle.embed.process.runtime.Starter;
  */
 public class MongosStarter extends Starter<IMongosConfig,MongosExecutable,MongosProcess> {
 
-	private static Logger logger = Logger.getLogger(MongosStarter.class.getName());
-
 	private MongosStarter(IRuntimeConfig config) {
 		super(config);
 	}
diff --git a/src/main/java/de/flapdoodle/embed/mongo/Paths.java b/src/main/java/de/flapdoodle/embed/mongo/Paths.java
index cab03a18431a69885aaab94a937f9fb3b72f3566..365fbcfb769e2603e17e7b3f7bb7aa6f8e56ed3d 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/Paths.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/Paths.java
@@ -25,14 +25,11 @@ import de.flapdoodle.embed.process.config.store.FileType;
 import de.flapdoodle.embed.process.config.store.IPackageResolver;
 import de.flapdoodle.embed.process.distribution.*;
 
-import java.util.logging.Logger;
-
 /**
  *
  */
 public class Paths implements IPackageResolver {
 
-	private static Logger logger = Logger.getLogger(Paths.class.getName());
 	private final Command command;
 
 	public Paths(Command command) {
diff --git a/src/main/java/de/flapdoodle/embed/mongo/config/MongodProcessOutputConfig.java b/src/main/java/de/flapdoodle/embed/mongo/config/MongodProcessOutputConfig.java
index e6d0c9f7a8e7b20191789eb5b7a5671167cba45f..6b0aad44ee3a89338eee0fb9db874a1a5bee7437 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/config/MongodProcessOutputConfig.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/config/MongodProcessOutputConfig.java
@@ -20,8 +20,6 @@
  */
 package de.flapdoodle.embed.mongo.config;
 
-import java.util.logging.Logger;
-
 import de.flapdoodle.embed.mongo.Command;
 import de.flapdoodle.embed.process.config.io.ProcessOutput;
 
@@ -34,7 +32,12 @@ public class MongodProcessOutputConfig {
 		return ProcessOutput.getDefaultInstance(command.commandName());
 	}
 
-	public static ProcessOutput getInstance(Command command, Logger logger) {
+	@Deprecated
+	public static ProcessOutput getInstance(Command command, java.util.logging.Logger logger) {
+		return ProcessOutput.getInstance(command.commandName(), logger);
+	}
+
+	public static ProcessOutput getInstance(Command command, org.slf4j.Logger logger) {
 		return ProcessOutput.getInstance(command.commandName(), logger);
 	}
 }
diff --git a/src/main/java/de/flapdoodle/embed/mongo/config/RuntimeConfigBuilder.java b/src/main/java/de/flapdoodle/embed/mongo/config/RuntimeConfigBuilder.java
index a1a065790f001579940b5aafc098201748542e89..80e5ec19ccebec8fd0f42c9edee6169052b7ae62 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/config/RuntimeConfigBuilder.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/config/RuntimeConfigBuilder.java
@@ -20,18 +20,20 @@
  */
 package de.flapdoodle.embed.mongo.config;
 
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import de.flapdoodle.embed.process.io.progress.LoggingProgressListener;
+import de.flapdoodle.embed.process.io.progress.Slf4jProgressListener;
 
 import de.flapdoodle.embed.mongo.Command;
 import de.flapdoodle.embed.process.config.store.IDownloadConfig;
-import de.flapdoodle.embed.process.io.progress.LoggingProgressListener;
 import de.flapdoodle.embed.process.runtime.ICommandLinePostProcessor;
 
+import java.util.logging.Level;
+
 
 public class RuntimeConfigBuilder extends de.flapdoodle.embed.process.config.RuntimeConfigBuilder {
 
-	public RuntimeConfigBuilder defaultsWithLogger(Command command, Logger logger) {
+	@Deprecated
+	public RuntimeConfigBuilder defaultsWithLogger(Command command, java.util.logging.Logger logger) {
 		defaults(command);
 		processOutput().overwriteDefault(MongodProcessOutputConfig.getInstance(command, logger));
 
@@ -43,6 +45,19 @@ public class RuntimeConfigBuilder extends de.flapdoodle.embed.process.config.Run
 		artifactStore().overwriteDefault(new ArtifactStoreBuilder().defaults(command).download(downloadConfig).build());
 		return this;
 	}
+
+	public RuntimeConfigBuilder defaultsWithLogger(Command command, org.slf4j.Logger logger) {
+		defaults(command);
+		processOutput().overwriteDefault(MongodProcessOutputConfig.getInstance(command, logger));
+
+		IDownloadConfig downloadConfig = new DownloadConfigBuilder()
+				.defaultsForCommand(command)
+				.progressListener(new Slf4jProgressListener(logger))
+				.build();
+
+		artifactStore().overwriteDefault(new ArtifactStoreBuilder().defaults(command).download(downloadConfig).build());
+		return this;
+	}
 	
 	public RuntimeConfigBuilder defaults(Command command) {
 		processOutput().setDefault(MongodProcessOutputConfig.getDefaultInstance(command));
diff --git a/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoImport.java b/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoImport.java
index 015192966386f2d272bb1a26fd09eae44c082186..a3a76d2933d19ceb96e111c8687e51e1219a5567 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoImport.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoImport.java
@@ -28,15 +28,12 @@ import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.logging.Logger;
 
 /**
  * Created by canyaman on 10/04/14.
  */
 public class MongoImport extends AbstractMongo {
 
-    private static Logger logger = Logger.getLogger(Mongos.class.getName());
-
     public static List<String> getCommandLine(IMongoImportConfig config, IExtractedFileSet files)
             throws UnknownHostException {
         List<String> ret = new ArrayList<String>();
diff --git a/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoShell.java b/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoShell.java
index 256302eb65c4590bf65983b1352264d2e61c197e..756a6516dbe33f17694b92a70923f9a878292826 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoShell.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/runtime/MongoShell.java
@@ -24,7 +24,6 @@ import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.logging.Logger;
 
 import de.flapdoodle.embed.mongo.config.IMongoShellConfig;
 import de.flapdoodle.embed.mongo.config.Net;
diff --git a/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongod.java b/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongod.java
index 8d616664eda989e532e10835b1f6ae3bc90c5797..0b4f480f51800514cba420df2e8d7d04b06a4844 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongod.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongod.java
@@ -40,8 +40,8 @@ import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.logging.Level;
-import java.util.logging.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -50,7 +50,7 @@ import java.util.regex.Pattern;
  */
 public class Mongod extends AbstractMongo {
 
-	private static Logger logger = Logger.getLogger(Mongod.class.getName());
+	private static Logger logger = LoggerFactory.getLogger(Mongod.class);
 
 	/**
 	 * Binary sample of shutdown command
@@ -67,11 +67,10 @@ public class Mongod extends AbstractMongo {
 
 	public static boolean sendShutdown(InetAddress hostname, int port) {
 		if (!hostname.isLoopbackAddress()) {
-			logger.log(Level.WARNING,
-					"" + "---------------------------------------\n" + "Your localhost (" + hostname.getHostAddress()
-							+ ") is not a loopback adress\n"
-							+ "We can NOT send shutdown to mongod, because it is denied from remote."
-							+ "---------------------------------------\n");
+			logger.warn("---------------------------------------\n"
+                    + "Your localhost ({}) is not a loopback adress\n"
+                    + "We can NOT send shutdown to mongod, because it is denied from remote.\n"
+                    + "---------------------------------------\n", hostname.getHostAddress());
 			return false;
 		}
 
@@ -88,7 +87,7 @@ public class Mongod extends AbstractMongo {
 			tryToReadErrorResponse = true;
 			InputStream inputStream = s.getInputStream();
 			if (inputStream.read(new byte[BYTE_BUFFER_LENGTH]) != -1) {
-				logger.severe("Got some response, should be an error message");
+				logger.error("Got some response, should be an error message");
 				return false;
 			}
 			return true;
@@ -96,15 +95,15 @@ public class Mongod extends AbstractMongo {
 			if (tryToReadErrorResponse) {
 				return true;
 			}
-			logger.log(Level.WARNING, String.format("sendShutdown %s:%d", hostname, port), iox);
+			logger.warn("sendShutdown {}:{}", hostname, port, iox);
 		} finally {
 			try {
 				s.close();
 				Thread.sleep(WAITING_TIME_SHUTDOWN_IN_MS);
 			} catch (InterruptedException ix) {
-				logger.log(Level.WARNING, String.format("sendShutdown closing %s:%d", hostname, port), ix);
+				logger.warn("sendShutdown closing {}:{}", hostname, port, ix);
 			} catch (IOException iox) {
-				logger.log(Level.WARNING, String.format("sendShutdown closing %s:%s", hostname, port), iox);
+				logger.warn("sendShutdown closing {}:{}", hostname, port, iox);
 			}
 		}
 		return false;
@@ -189,8 +188,8 @@ public class Mongod extends AbstractMongo {
 					ret.add("--interleave=all");
 					ret.addAll(commands);
 					return ret;
-				default:
-					logger.warning("NUMA Plattform detected, but not supported.");
+                default:
+                    logger.warn("NUMA Plattform detected, but not supported.");
 			}
 		}
 		return commands;
diff --git a/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongos.java b/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongos.java
index 23f3c7e715757bdafac600870682df364ec8a608..63439ff2fed78c166a514eaeb8f7d443a471f247 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongos.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/runtime/Mongos.java
@@ -24,7 +24,6 @@ import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
-import java.util.logging.Logger;
 
 import de.flapdoodle.embed.mongo.config.IMongosConfig;
 import de.flapdoodle.embed.process.extract.IExtractedFileSet;
@@ -34,8 +33,6 @@ import de.flapdoodle.embed.process.extract.IExtractedFileSet;
  */
 public class Mongos extends AbstractMongo {
 
-	private static Logger logger = Logger.getLogger(Mongos.class.getName());
-
 	public static List<String> getCommandLine(IMongosConfig config, IExtractedFileSet files)
 			throws UnknownHostException {
 		List<String> ret = new ArrayList<String>();
diff --git a/src/main/java/de/flapdoodle/embed/mongo/tests/MongodForTestsFactory.java b/src/main/java/de/flapdoodle/embed/mongo/tests/MongodForTestsFactory.java
index a90382d63b4582e9d7dad3ce94d02d8d7ff120a1..ebcc334f53f229769455b117ed941b5ab43fa7ad 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/tests/MongodForTestsFactory.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/tests/MongodForTestsFactory.java
@@ -23,7 +23,8 @@ package de.flapdoodle.embed.mongo.tests;
 import java.io.IOException;
 import java.net.UnknownHostException;
 import java.util.UUID;
-import java.util.logging.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.mongodb.DB;
 import com.mongodb.Mongo;
@@ -47,7 +48,7 @@ import de.flapdoodle.embed.mongo.distribution.Version;
  */
 public class MongodForTestsFactory {
 
-	private static Logger logger = Logger.getLogger(MongodForTestsFactory.class
+	private static Logger logger = LoggerFactory.getLogger(MongodForTestsFactory.class
 			.getName());
 
 	public static MongodForTestsFactory with(final IFeatureAwareVersion version)
diff --git a/src/main/java/de/flapdoodle/embed/mongo/tests/MongosForTestsFactory.java b/src/main/java/de/flapdoodle/embed/mongo/tests/MongosForTestsFactory.java
index 41adbae2e4a0293f2475e756c63393f56249b4c6..40cd24e6d1f84053862f7526dfed5c66beabb961 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/tests/MongosForTestsFactory.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/tests/MongosForTestsFactory.java
@@ -23,7 +23,8 @@ package de.flapdoodle.embed.mongo.tests;
 import java.io.IOException;
 import java.net.UnknownHostException;
 import java.util.UUID;
-import java.util.logging.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.mongodb.DB;
 import com.mongodb.Mongo;
@@ -49,7 +50,7 @@ import de.flapdoodle.embed.process.runtime.Network;
  */
 public class MongosForTestsFactory {
 
-	private static Logger logger = Logger.getLogger(MongosForTestsFactory.class
+	private static Logger logger = LoggerFactory.getLogger(MongosForTestsFactory.class
 			.getName());
 
 	public static MongosForTestsFactory with(final IFeatureAwareVersion version)
diff --git a/src/main/java/de/flapdoodle/embed/mongo/tests/MongosSystemForTestFactory.java b/src/main/java/de/flapdoodle/embed/mongo/tests/MongosSystemForTestFactory.java
index c29581ea4a85c4958bc6fdc8c7651c045a859933..3478260d9d8cf72f69afdee3612644900f220cc3 100644
--- a/src/main/java/de/flapdoodle/embed/mongo/tests/MongosSystemForTestFactory.java
+++ b/src/main/java/de/flapdoodle/embed/mongo/tests/MongosSystemForTestFactory.java
@@ -25,7 +25,8 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
-import java.util.logging.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.mongodb.BasicDBList;
 import com.mongodb.BasicDBObject;
@@ -53,8 +54,8 @@ import de.flapdoodle.embed.mongo.config.RuntimeConfigBuilder;
 
 public class MongosSystemForTestFactory {
 
-	private final static Logger logger = Logger
-			.getLogger(MongosSystemForTestFactory.class.getName());
+	private final static Logger logger = LoggerFactory
+			.getLogger(MongosSystemForTestFactory.class);
 
 	public static final String ADMIN_DATABASE_NAME = "admin";
 	public static final String LOCAL_DATABASE_NAME = "local";
@@ -129,7 +130,7 @@ public class MongosSystemForTestFactory {
 
 		CommandResult cr = mongoAdminDB
 				.command(new BasicDBObject("isMaster", 1));
-		logger.info("isMaster: " + cr);
+		logger.info("isMaster: {}", cr);
 
 		// Build BSON object replica set settings
 		DBObject replicaSetSetting = new BasicDBObject();
@@ -149,18 +150,18 @@ public class MongosSystemForTestFactory {
 		// Initialize replica set
 		cr = mongoAdminDB.command(new BasicDBObject("replSetInitiate",
 				replicaSetSetting));
-		logger.info("replSetInitiate: " + cr);
+		logger.info("replSetInitiate: {}", cr);
 
 		Thread.sleep(5000);
 		cr = mongoAdminDB.command(new BasicDBObject("replSetGetStatus", 1));
-		logger.info("replSetGetStatus: " + cr);
+		logger.info("replSetGetStatus: {}", cr);
 
 		// Check replica set status before to proceed
 		while (!isReplicaSetStarted(cr)) {
 			logger.info("Waiting for 3 seconds...");
 			Thread.sleep(1000);
 			cr = mongoAdminDB.command(new BasicDBObject("replSetGetStatus", 1));
-			logger.info("replSetGetStatus: " + cr);
+			logger.info("replSetGetStatus: {}", cr);
 		}
 
 		mongo.close();
@@ -177,7 +178,7 @@ public class MongosSystemForTestFactory {
 			BasicDBObject member = (BasicDBObject) m;
 			logger.info(member.toString());
 			int state = member.getInt("state");
-			logger.info("state: " + state);
+			logger.info("state: {}", state);
 			// 1 - PRIMARY, 2 - SECONDARY, 7 - ARBITER
 			if (state != 1 && state != 2 && state != 7) {
 				return false;
@@ -229,7 +230,7 @@ public class MongosSystemForTestFactory {
 				command += mongodConfig.net().getServerAddress().getHostName()
 						+ ":" + mongodConfig.net().getPort();
 			}
-			logger.info("Execute add shard command: " + command);
+			logger.info("Execute add shard command: {}", command);
 			cr = mongoAdminDB.command(new BasicDBObject("addShard", command));
 			logger.info(cr.toString());
 		}
@@ -250,8 +251,7 @@ public class MongosSystemForTestFactory {
 		db.getCollection(this.shardCollection).ensureIndex(this.shardKey);
 
 		// Shard the collection
-		logger.info("Shard the collection: " + this.shardDatabase + "."
-				+ this.shardCollection);
+		logger.info("Shard the collection: {}.{}", this.shardDatabase, this.shardCollection);
 		DBObject cmd = new BasicDBObject();
 		cmd.put("shardCollection", this.shardDatabase + "." + this.shardCollection);
 		cmd.put("key", new BasicDBObject(this.shardKey, 1));
diff --git a/src/test/java/de/flapdoodle/embed/mongo/MongoExecutableTest.java b/src/test/java/de/flapdoodle/embed/mongo/MongoExecutableTest.java
index eb9a60eae6dfe5077b72f3f9dc03a6e753f0ed85..8c4631165c5ab19cadb0754a5e5379196d16d25f 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/MongoExecutableTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/MongoExecutableTest.java
@@ -22,7 +22,8 @@ package de.flapdoodle.embed.mongo;
 
 import java.io.IOException;
 import java.util.Date;
-import java.util.logging.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import junit.framework.Assert;
 import junit.framework.TestCase;
@@ -52,7 +53,7 @@ import de.flapdoodle.embed.process.runtime.Network;
 //CHECKSTYLE:OFF
 public class MongoExecutableTest extends TestCase {
 
-	private static final Logger _logger = Logger.getLogger(MongoExecutableTest.class.getName());
+	private static final Logger _logger = LoggerFactory.getLogger(MongoExecutableTest.class.getName());
 
 	@Test
 	public void testStartStopTenTimesWithNewMongoExecutable() throws IOException {
@@ -64,7 +65,7 @@ public class MongoExecutableTest extends TestCase {
 		IRuntimeConfig runtimeConfig = new RuntimeConfigBuilder().defaults(Command.MongoD).build();
 
 		for (int i = 0; i < loops; i++) {
-			_logger.info("Loop: " + i);
+			_logger.info("Loop: {}", i);
 			MongodExecutable mongodExe = MongodStarter.getInstance(runtimeConfig).prepare(mongodConfig);
 			try {
 				MongodProcess mongod = mongodExe.start();
diff --git a/src/test/java/de/flapdoodle/embed/mongo/MongoImportExecutableTest.java b/src/test/java/de/flapdoodle/embed/mongo/MongoImportExecutableTest.java
index 83aad62297ca5fd801e07c6ffef7430dcfa74ece..227b01742d86a682d1eb30d85c683789b1aaae4c 100644
--- a/src/test/java/de/flapdoodle/embed/mongo/MongoImportExecutableTest.java
+++ b/src/test/java/de/flapdoodle/embed/mongo/MongoImportExecutableTest.java
@@ -34,14 +34,15 @@ import org.junit.Test;
 import java.io.IOException;
 import java.net.UnknownHostException;
 import java.util.Date;
-import java.util.logging.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Created by canyaman on 10/04/14.
  */
 public class MongoImportExecutableTest  extends TestCase {
 
-    private static final Logger _logger = Logger.getLogger(MongoImportExecutableTest.class.getName());
+    private static final Logger _logger = LoggerFactory.getLogger(MongoImportExecutableTest.class.getName());
 
     @Test
     public void testStartMongoImport() throws IOException, InterruptedException {
@@ -63,7 +64,7 @@ public class MongoImportExecutableTest  extends TestCase {
             mongoImportProcess=mongoImportExecutable.start();
             dataImported=true;
         }catch (Exception e){
-            _logger.info("MongoImport exception:" + e.getStackTrace());
+            _logger.info("MongoImport exception: {}", e.getStackTrace());
             dataImported=false;
         }finally {
            Assert.assertTrue("mongoDB import data in json format", dataImported);
diff --git a/src/test/resources/simplelogger.properties b/src/test/resources/simplelogger.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e0f0d79df7a7b4b3781a64c543d4dd99f7e0af4f
--- /dev/null
+++ b/src/test/resources/simplelogger.properties
@@ -0,0 +1 @@
+org.slf4j.simpleLogger.defaultLogLevel=trace