diff --git a/orientdb/pom.xml b/orientdb/pom.xml
index 8a6b1d5d2d835541aa35c43902179fc0991345d3..407f75a7bfe8aee6d3625d418a860c76810989b0 100644
--- a/orientdb/pom.xml
+++ b/orientdb/pom.xml
@@ -53,6 +53,11 @@ LICENSE file.
       <version>4.12</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+      <version>1.7.10</version>
+    </dependency>
   </dependencies>
   <build>
     <plugins>
diff --git a/orientdb/src/main/java/com/yahoo/ycsb/db/OrientDBClient.java b/orientdb/src/main/java/com/yahoo/ycsb/db/OrientDBClient.java
index 853f9ab32807eef288e1279c10484113db6b9910..5d576e3ff48ed026b5c76661c4be03f375ee6cc6 100644
--- a/orientdb/src/main/java/com/yahoo/ycsb/db/OrientDBClient.java
+++ b/orientdb/src/main/java/com/yahoo/ycsb/db/OrientDBClient.java
@@ -34,6 +34,8 @@ import com.yahoo.ycsb.DB;
 import com.yahoo.ycsb.DBException;
 import com.yahoo.ycsb.Status;
 import com.yahoo.ycsb.StringByteIterator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
 import java.util.HashMap;
@@ -70,6 +72,8 @@ public class OrientDBClient extends DB {
 
   private static final String ORIENTDB_DOCUMENT_TYPE = "document";
 
+  private final Logger log = LoggerFactory.getLogger(getClass());
+
   @Override
   public void init() throws DBException {
     Properties props = getProperties();
@@ -86,7 +90,7 @@ public class OrientDBClient extends DB {
       throw new DBException(String.format("Required property \"%s\" missing for OrientDBClient", URL_PROPERTY));
     }
 
-    System.err.println("OrientDB loading database url = " + url);
+    log.info("OrientDB loading database url = " + url);
 
     // If using a remote database, use the OServerAdmin interface to connect
     if (url.startsWith(OEngineRemote.NAME)) {
@@ -101,12 +105,12 @@ public class OrientDBClient extends DB {
 
         if (server.existsDatabase()) {
           if (newdb && !dotransactions) {
-            System.err.println("OrientDB dropping and recreating fresh db on remote server.");
+            log.info("OrientDB dropping and recreating fresh db on remote server.");
             server.dropDatabase(remoteStorageType);
             server.createDatabase(server.getURL(), ORIENTDB_DOCUMENT_TYPE, remoteStorageType);
           }
         } else {
-          System.err.println("OrientDB database not found, creating fresh db");
+          log.info("OrientDB database not found, creating fresh db");
           server.createDatabase(server.getURL(), ORIENTDB_DOCUMENT_TYPE, remoteStorageType);
         }
 
@@ -121,12 +125,12 @@ public class OrientDBClient extends DB {
         if (db.exists()) {
           db.open(user, password);
           if (newdb && !dotransactions) {
-            System.err.println("OrientDB dropping and recreating fresh db.");
+            log.info("OrientDB dropping and recreating fresh db.");
             db.drop();
             db.create();
           }
         } else {
-          System.err.println("OrientDB database not found, creating fresh db");
+          log.info("OrientDB database not found, creating fresh db");
           db.create();
         }
       } catch (ODatabaseException e) {
@@ -134,7 +138,7 @@ public class OrientDBClient extends DB {
       }
     }
 
-    System.err.println("OrientDB connection created with " + url);
+    log.info("OrientDB connection created with " + url);
     dictionary = db.getMetadata().getIndexManager().getDictionary();
     if (!db.getMetadata().getSchema().existsClass(CLASS)) {
       db.getMetadata().getSchema().createClass(CLASS);
@@ -226,6 +230,7 @@ public class OrientDBClient extends DB {
                      Vector<HashMap<String, ByteIterator>> result) {
     if (isRemote) {
       // Iterator methods needed for scanning are Unsupported for remote database connections.
+      log.warn("OrientDB scan operation is not implemented for remote database connections.");
       return Status.NOT_IMPLEMENTED;
     }
 
diff --git a/orientdb/src/main/resources/log4j.properties b/orientdb/src/main/resources/log4j.properties
new file mode 100644
index 0000000000000000000000000000000000000000..0ede1d4c141192a2de7e00461b3cb9998a8e8a68
--- /dev/null
+++ b/orientdb/src/main/resources/log4j.properties
@@ -0,0 +1,8 @@
+# Root logger option
+log4j.rootLogger=INFO, stderr
+
+# Direct log messages to stderr
+log4j.appender.stderr=org.apache.log4j.ConsoleAppender
+log4j.appender.stderr.Target=System.err
+log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
+log4j.appender.stderr.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n