You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2015/07/09 11:39:03 UTC

svn commit: r1690039 - in /qpid/java/trunk: broker-core/src/main/java/org/apache/qpid/server/ qpid-test-utils/src/main/java/org/apache/qpid/test/utils/ qpid-test-utils/src/main/resources/ systests/src/main/resources/

Author: kwall
Date: Thu Jul  9 09:39:02 2015
New Revision: 1690039

URL: http://svn.apache.org/r1690039
Log:
QPID-6613: [Java Broker] Stop explicitly controlling the Logback context lifecycle

* Also if Java Broker finds logback is already configured (with at least one appender) do not adjust the root logging level
* Make test logback.xml shutdown the logback after test run is complete
* In tests, use FINALIZE_SESSION_MARKER to have the sift subappender closed in a timely fashion

Modified:
    qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/Broker.java
    qpid/java/trunk/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
    qpid/java/trunk/qpid-test-utils/src/main/resources/logback.xml
    qpid/java/trunk/systests/src/main/resources/logback-test.xml

Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/Broker.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/Broker.java?rev=1690039&r1=1690038&r2=1690039&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/Broker.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/Broker.java Thu Jul  9 09:39:02 2015
@@ -36,7 +36,6 @@ import java.util.concurrent.TimeoutExcep
 import javax.security.auth.Subject;
 
 import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.LoggerContext;
 import com.google.common.util.concurrent.ListenableFuture;
 
 import org.apache.qpid.common.QpidProperties;
@@ -68,7 +67,6 @@ public class Broker
     private volatile SystemConfig _systemConfig;
 
     private final Action<Integer> _shutdownAction;
-    private volatile boolean _loggerContextStarted;
 
 
     public Broker()
@@ -118,12 +116,6 @@ public class Broker
     {
         _taskExecutor.stop();
 
-        LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
-        if (_loggerContextStarted)
-        {
-            loggerContext.stop();
-        }
-
         if (_shutdownAction != null)
         {
             _shutdownAction.performAction(exitStatusCode);
@@ -148,14 +140,11 @@ public class Broker
             {
                 ch.qos.logback.classic.Logger logger =
                         (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
-                if (!logger.getLoggerContext().isStarted())
+                if (!logger.iteratorForAppenders().hasNext())
                 {
-                    logger.getLoggerContext().start();
-                    // TODO: Code is commented as a temporary workaround to make the tests working. Otherwise, stopping of context screws the tests
-                    //_loggerContextStarted = true;
+                    logger.setLevel(Level.ALL);
+                    logger.setAdditive(true);
                 }
-                logger.setAdditive(true);
-                logger.setLevel(Level.ALL);
 
                 StartupAppender startupAppender = new StartupAppender();
                 startupAppender.setContext(logger.getLoggerContext());

Modified: qpid/java/trunk/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java?rev=1690039&r1=1690038&r2=1690039&view=diff
==============================================================================
--- qpid/java/trunk/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java (original)
+++ qpid/java/trunk/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java Thu Jul  9 09:39:02 2015
@@ -26,6 +26,7 @@ import java.io.FileReader;
 import java.io.IOException;
 import java.util.*;
 
+import ch.qos.logback.classic.ClassicConstants;
 import junit.framework.TestCase;
 import junit.framework.TestResult;
 import org.slf4j.Logger;
@@ -157,6 +158,7 @@ public class QpidTestCase extends TestCa
         }
         finally
         {
+            _logger.info(ClassicConstants.FINALIZE_SESSION_MARKER, "Shutting down sub-appender");
             _currentInstance = null;
             MDC.remove(CLASS_QUALIFIED_TEST_NAME);
         }

Modified: qpid/java/trunk/qpid-test-utils/src/main/resources/logback.xml
URL: http://svn.apache.org/viewvc/qpid/java/trunk/qpid-test-utils/src/main/resources/logback.xml?rev=1690039&r1=1690038&r2=1690039&view=diff
==============================================================================
--- qpid/java/trunk/qpid-test-utils/src/main/resources/logback.xml (original)
+++ qpid/java/trunk/qpid-test-utils/src/main/resources/logback.xml Thu Jul  9 09:39:02 2015
@@ -20,6 +20,8 @@
   -->
 <configuration debug="true">
 
+    <contextName>qpid-test-utils</contextName>
+
     <appender name="RootSiftAppender" class="ch.qos.logback.classic.sift.SiftingAppender">
         <discriminator>
             <Key>classQualifiedTestName</Key>
@@ -38,4 +40,5 @@
     <root level="debug">
         <appender-ref ref="RootSiftAppender"/>
     </root>
+    <shutdownHook/>
 </configuration>

Modified: qpid/java/trunk/systests/src/main/resources/logback-test.xml
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/main/resources/logback-test.xml?rev=1690039&r1=1690038&r2=1690039&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/main/resources/logback-test.xml (original)
+++ qpid/java/trunk/systests/src/main/resources/logback-test.xml Thu Jul  9 09:39:02 2015
@@ -20,6 +20,8 @@
   -->
 <configuration debug="true">
 
+    <contextName>qpid-systests</contextName>
+
     <!-- Logging configuration used for this and other 'systests' modules.  This is named
          logback-test.xml in order that it is found in preference to the logback.xml
          found in qpid-test-utils (which is used for other, non-systests, modules).  -->
@@ -50,4 +52,5 @@
     <root level="warn">
         <appender-ref ref="RootSiftAppender"/>
     </root>
+    <shutdownHook/>
 </configuration>



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org