From 62a8456b5831fb75703504c759925784771465a8 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Thu, 6 Sep 2012 07:10:51 +0000
Subject: [PATCH] BIS-166 Generalize BufferedAppender: Any snippet of log name
 can be used for filtering.

SVN: 26524
---
 .../cisd/common/logging/BufferedAppender.java       | 13 ++++++-------
 .../dss/generic/server/ShareIdManagerTest.java      |  2 +-
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/common/source/java/ch/systemsx/cisd/common/logging/BufferedAppender.java b/common/source/java/ch/systemsx/cisd/common/logging/BufferedAppender.java
index 10716cd47c1..0719164bd8d 100644
--- a/common/source/java/ch/systemsx/cisd/common/logging/BufferedAppender.java
+++ b/common/source/java/ch/systemsx/cisd/common/logging/BufferedAppender.java
@@ -67,23 +67,22 @@ public final class BufferedAppender extends WriterAppender
     }
 
     /**
-     * Creates an instance for specified optional pattern, log level and optional class onto which
-     * log entries are filtered.
+     * Creates an instance for specified optional pattern, log level and snippet of the logger name
+     * onto which log entries are filtered.
      */
     public BufferedAppender(final String patternOrNull, final Level logLevel,
-            final Class<?> classToFilterOnOrNull)
+            final String loggerNameSnippetToFilterOnOrNull)
     {
         logRecorder = new ByteArrayOutputStream();
-        if (classToFilterOnOrNull != null)
+        if (loggerNameSnippetToFilterOnOrNull != null)
         {
             this.addFilter(new Filter()
                 {
-                    String className = classToFilterOnOrNull.getSimpleName();
-
                     @Override
                     public int decide(LoggingEvent event)
                     {
-                        return event.getLoggerName().endsWith(className) ? Filter.ACCEPT
+                        String loggerName = event.getLoggerName();
+                        return loggerName.indexOf(loggerNameSnippetToFilterOnOrNull) >= 0 ? Filter.ACCEPT
                                 : Filter.DENY;
                     }
                 });
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/ShareIdManagerTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/ShareIdManagerTest.java
index 31d562f244a..bf5e43f4511 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/ShareIdManagerTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/ShareIdManagerTest.java
@@ -58,7 +58,7 @@ public class ShareIdManagerTest extends AssertJUnit
     {
         level = Logger.getRootLogger().getLevel();
         Logger.getRootLogger().setLevel(Level.DEBUG);
-        logRecorder = new BufferedAppender("%-5p %c - %m%n", Level.DEBUG, ShareIdManager.class);
+        logRecorder = new BufferedAppender("%-5p %c - %m%n", Level.DEBUG, ShareIdManager.class.getSimpleName());
         context = new Mockery();
         service = context.mock(IEncapsulatedOpenBISService.class);
         context.checking(new Expectations()
-- 
GitLab