diff --git a/common/source/java/ch/systemsx/cisd/common/logging/ConsoleLogger.java b/common/source/java/ch/systemsx/cisd/common/logging/ConsoleLogger.java
index ce2a83a532b337268e8b714e5aa3d1de69e5b179..4eedea7aea1370deb8c8983f1fc064480392d2eb 100644
--- a/common/source/java/ch/systemsx/cisd/common/logging/ConsoleLogger.java
+++ b/common/source/java/ch/systemsx/cisd/common/logging/ConsoleLogger.java
@@ -16,6 +16,8 @@
 
 package ch.systemsx.cisd.common.logging;
 
+import java.io.PrintStream;
+
 /**
  * A {@link ISimpleLogger} that logs to {@link System#out} (for debugging purposes).
  * 
@@ -24,10 +26,22 @@ package ch.systemsx.cisd.common.logging;
 public class ConsoleLogger implements ISimpleLogger
 {
 
+    private final PrintStream pstream;
+    
+    public ConsoleLogger()
+    {
+        this(System.out);
+    }
+    
+    public ConsoleLogger(PrintStream pstream)
+    {
+        this.pstream = pstream;
+    }
+    
     @Override
     public void log(LogLevel level, String message)
     {
-        System.out.println(level.toString() + ": " + message);
+        pstream.println(level.toString() + ": " + message);
     }
 
     @Override
@@ -36,7 +50,7 @@ public class ConsoleLogger implements ISimpleLogger
         log(level, message);
         if (throwableOrNull != null)
         {
-            throwableOrNull.printStackTrace();
+            throwableOrNull.printStackTrace(pstream);
         }
     }