diff --git a/commonbase/source/java/ch/systemsx/cisd/common/logging/BufferedAppender.java b/commonbase/source/java/ch/systemsx/cisd/common/logging/BufferedAppender.java
index deecae7543d617fd901961b4c5cbe84bf07f82f1..c71269e3b0e3d5d501322591bb1b8d475be9f7f0 100644
--- a/commonbase/source/java/ch/systemsx/cisd/common/logging/BufferedAppender.java
+++ b/commonbase/source/java/ch/systemsx/cisd/common/logging/BufferedAppender.java
@@ -18,6 +18,7 @@ package ch.systemsx.cisd.common.logging;
 
 import java.io.ByteArrayOutputStream;
 import java.util.Arrays;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.regex.Pattern;
 
@@ -43,6 +44,8 @@ public final class BufferedAppender extends WriterAppender
 {
     private final ByteArrayOutputStream logRecorder;
 
+    private final List<Pattern> patternOfSuppressedLogEvents = new LinkedList<Pattern>();
+
     /**
      * Constructor with default pattern layout (which is {@link PatternLayout#DEFAULT_CONVERSION_PATTERN}) and {@link Level#DEBUG} as log level.
      */
@@ -103,6 +106,7 @@ public final class BufferedAppender extends WriterAppender
                     return pattern.matcher(loggerName).matches() ? Filter.DENY : Filter.ACCEPT;
                 }
             });
+        patternOfSuppressedLogEvents.add(Pattern.compile(".*" + loggerNameRegex + ".*"));
 
     }
 
@@ -124,7 +128,29 @@ public final class BufferedAppender extends WriterAppender
      */
     public final String getLogContent()
     {
-        return new String(logRecorder.toByteArray()).trim();
+        String content = new String(logRecorder.toByteArray()).trim();
+        String[] split = content.split("\n");
+        StringBuilder builder = new StringBuilder();
+        for (String line : split)
+        {
+            if (shouldBeSuppressed(line) == false)
+            {
+                builder.append(line).append("\n");
+            }
+        }
+        return builder.toString().trim();
+    }
+
+    private boolean shouldBeSuppressed(String line)
+    {
+        for (Pattern pattern : patternOfSuppressedLogEvents)
+        {
+            if (pattern.matcher(line).matches())
+            {
+                return true;
+            }
+        }
+        return false;
     }
 
     public List<String> getLogLines()
diff --git a/commonbase/sourceTest/java/ch/systemsx/cisd/common/logging/BufferedAppenderTest.java b/commonbase/sourceTest/java/ch/systemsx/cisd/common/logging/BufferedAppenderTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..a4ba7301a7ff5cd8c691e81d4a0a80fc737fd0c0
--- /dev/null
+++ b/commonbase/sourceTest/java/ch/systemsx/cisd/common/logging/BufferedAppenderTest.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright 2018 ETH Zuerich, SIS
+ *
+ * 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 ch.systemsx.cisd.common.logging;
+
+import static org.testng.Assert.assertEquals;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.LogManager;
+import org.apache.log4j.spi.LocationInfo;
+import org.apache.log4j.spi.LoggingEvent;
+import org.testng.annotations.Test;
+
+/**
+ * @author Franz-Josef Elmer
+ *
+ */
+public class BufferedAppenderTest
+{
+
+    @Test
+    public void test()
+    {
+        // Given
+        BufferedAppender appender = new BufferedAppender("%-5p %c - %m%n", Level.DEBUG);
+        appender.addRegexForLoggingEventsToBeDropped("ab.*f");
+        System.err.println(appender.getFilter());
+        
+        // Then
+        appender.append(new LoggingEvent("my-class", LogManager.getRootLogger(), 123456, Level.INFO, 
+                "testing", "my-thread", null, "ndc", new LocationInfo(null, null), null));
+        appender.append(new LoggingEvent("my-class", LogManager.getRootLogger(), 123456, Level.INFO, 
+                "abcdef", "my-thread", null, "ndc", new LocationInfo(null, null), null));
+        
+        // When
+        assertEquals(appender.getLogContent(), "INFO  root - testing");
+    }
+
+}