- Flush logs.
- Don't log if log level is greated than the one configured in DS_LOGLEVEL


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1397815 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java b/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java
index b5c2851..f0bb2cc 100644
--- a/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java
+++ b/scr/src/test/java/org/apache/felix/scr/integration/ComponentTestBase.java
@@ -50,6 +50,7 @@
 import java.util.TreeSet;
 
 import javax.inject.Inject;
+
 import junit.framework.TestCase;
 
 import org.apache.felix.scr.Component;
@@ -73,6 +74,7 @@
 import org.osgi.service.log.LogEntry;
 import org.osgi.service.log.LogListener;
 import org.osgi.service.log.LogReaderService;
+import org.osgi.service.log.LogService;
 import org.osgi.util.tracker.ServiceTracker;
 
 
@@ -606,6 +608,11 @@
 
         public void logged(LogEntry entry)
         {
+            if ( entry.getLevel() > getEnabledLogLevel() )
+            {
+                return;
+            }
+
             if (entry.getLevel() <= 2)
             {
                 m_warnings.add( entry );
@@ -624,12 +631,32 @@
                 entry.getException().printStackTrace(pw);
             }
             _out.println(sw.toString());
+            _out.flush();
         }
 
         List foundWarnings()
         {
             return m_warnings;
         }
+        
+        public int getEnabledLogLevel() {
+            if ( DS_LOGLEVEL.regionMatches( true, 0, "err", 0, "err".length() ) )
+            {
+                return LogService.LOG_ERROR;
+            }
+            else if ( DS_LOGLEVEL.regionMatches( true, 0, "warn", 0, "warn".length() ) )
+            {
+                return LogService.LOG_WARNING;
+            }
+            else if ( DS_LOGLEVEL.regionMatches( true, 0, "info", 0, "info".length() ) )
+            {
+                return LogService.LOG_INFO;
+            }
+            else
+            {
+                return LogService.LOG_DEBUG;
+            }
+        }
     }