Author: kwall
Date: Wed Mar 29 06:18:42 2017
New Revision: 1789275

URL: http://svn.apache.org/viewvc?rev=1789275&view=rev
Log:
QPID-7468: Upgrade logback to 1.1.11 and SLF4j to 1.7.24

Needed to refactor system test's separate log-per-test feature to no longer 
rely on thread-inherited MDCs as feature removed by 
https://github.com/qos-ch/logback/commit/aa7d58

This closes #1

Added:
    
qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/LogbackPropertyValueDiscriminator.java
Modified:
    
qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/AppenderUtils.java
    
qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/BrokerLogbackSocketLogger.java
    
qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/BrokerLogbackSocketLoggerImpl.java
    
qpid/java/trunk/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/AppenderUtilsTest.java
    
qpid/java/trunk/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/StartupAppenderTest.java
    qpid/java/trunk/pom.xml
    
qpid/java/trunk/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
    
qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
    
qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/SpawnedBrokerHolder.java
    qpid/java/trunk/systests/src/main/resources/logback-test.xml

Modified: 
qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/AppenderUtils.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/AppenderUtils.java?rev=1789275&r1=1789274&r2=1789275&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/AppenderUtils.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/AppenderUtils.java
 Wed Mar 29 06:18:42 2017
@@ -32,6 +32,8 @@ import ch.qos.logback.core.rolling.SizeA
 import ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy;
 import ch.qos.logback.core.rolling.TimeBasedRollingPolicy;
 import ch.qos.logback.core.rolling.TriggeringPolicy;
+import ch.qos.logback.core.util.FileSize;
+
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 
 public class AppenderUtils
@@ -113,12 +115,14 @@ public class AppenderUtils
     static class DailyTriggeringPolicy extends 
SizeAndTimeBasedFNATP<ILoggingEvent>
     {
         private final boolean _rollOnRestart;
+        private final FileSize _maxFileSize;
         private boolean _isFirst = true;
 
         public DailyTriggeringPolicy(boolean isRollOnRestart, String 
maxFileSize)
         {
             _rollOnRestart = isRollOnRestart;
-            setMaxFileSize(maxFileSize);
+            _maxFileSize = FileSize.valueOf(maxFileSize);
+            setMaxFileSize(_maxFileSize);
         }
 
         @Override
@@ -146,17 +150,23 @@ public class AppenderUtils
             }
         }
 
+        public FileSize getMaxFileSize()
+        {
+            return _maxFileSize;
+        }
     }
 
     static class SizeTriggeringPolicy extends 
SizeBasedTriggeringPolicy<ILoggingEvent>
     {
         private final boolean _rollOnRestart;
+        private final FileSize _maxFileSize;
         private boolean _isFirst = true;
 
         public SizeTriggeringPolicy(boolean isRollOnRestart, String 
maxFileSize)
         {
             _rollOnRestart = isRollOnRestart;
-            setMaxFileSize(maxFileSize);
+            _maxFileSize = FileSize.valueOf(maxFileSize);
+            setMaxFileSize(_maxFileSize);
 
         }
 
@@ -174,6 +184,10 @@ public class AppenderUtils
             }
         }
 
+        public FileSize getMaxFileSize()
+        {
+            return _maxFileSize;
+        }
     }
 
     static class SimpleRollingPolicy extends FixedWindowRollingPolicy

Modified: 
qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/BrokerLogbackSocketLogger.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/BrokerLogbackSocketLogger.java?rev=1789275&r1=1789274&r2=1789275&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/BrokerLogbackSocketLogger.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/BrokerLogbackSocketLogger.java
 Wed Mar 29 06:18:42 2017
@@ -38,6 +38,7 @@ public interface BrokerLogbackSocketLogg
     String RECONNECTION_DELAY = "reconnectionDelay";
     String INCLUDE_CALLER_DATA = "includeCallerData";
     String MAPPED_DIAGNOSTIC_CONTEXT = "mappedDiagnosticContext";
+    String CONTEXT_PROPERTIES = "contextProperties";
 
     @ManagedAttribute(mandatory = true)
     int getPort();
@@ -51,6 +52,11 @@ public interface BrokerLogbackSocketLogg
     @ManagedAttribute(defaultValue = "true")
     boolean getIncludeCallerData();
 
-    @ManagedAttribute( defaultValue = "{}")
+    @ManagedAttribute(defaultValue = "{}",
+                      description = "The mapped diagnostic context that will 
accompany each logging event before being sent to the remote host.")
     Map<String, String> getMappedDiagnosticContext();
+
+    @ManagedAttribute(defaultValue = "{}",
+                      description = "Context properties that will be added to 
the global logback logging context.")
+    Map<String, String> getContextProperties();
 }

Modified: 
qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/BrokerLogbackSocketLoggerImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/BrokerLogbackSocketLoggerImpl.java?rev=1789275&r1=1789274&r2=1789275&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/BrokerLogbackSocketLoggerImpl.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/logging-logback/src/main/java/org/apache/qpid/server/logging/logback/BrokerLogbackSocketLoggerImpl.java
 Wed Mar 29 06:18:42 2017
@@ -22,23 +22,33 @@
 package org.apache.qpid.server.logging.logback;
 
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Set;
+import java.util.concurrent.CopyOnWriteArrayList;
 
 import ch.qos.logback.classic.net.SocketAppender;
 import ch.qos.logback.classic.spi.ILoggingEvent;
 import ch.qos.logback.core.Appender;
 import ch.qos.logback.core.Context;
 import ch.qos.logback.core.util.Duration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.slf4j.MDC;
 
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.ManagedAttributeField;
 import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
+import org.apache.qpid.server.util.Action;
 
 public class BrokerLogbackSocketLoggerImpl
         extends AbstractBrokerLogger<BrokerLogbackSocketLoggerImpl> implements 
BrokerLogbackSocketLogger<BrokerLogbackSocketLoggerImpl>
 {
+    private static final Logger _logger = 
LoggerFactory.getLogger(BrokerLogbackSocketLoggerImpl.class);
+
+    private final List<Action<Void>> _stopLoggingActions = new 
CopyOnWriteArrayList<>();
+
     @ManagedAttributeField
     private String _remoteHost;
 
@@ -54,6 +64,9 @@ public class BrokerLogbackSocketLoggerIm
     @ManagedAttributeField
     private Map<String,String> _mappedDiagnosticContext;
 
+    @ManagedAttributeField
+    private Map<String, String> _contextProperties;
+
     @ManagedObjectFactoryConstructor
     protected BrokerLogbackSocketLoggerImpl(final Map<String, Object> 
attributes, Broker<?> broker)
     {
@@ -91,8 +104,34 @@ public class BrokerLogbackSocketLoggerIm
     }
 
     @Override
+    public Map<String, String> getContextProperties()
+    {
+        return _contextProperties;
+    }
+
+    @Override
     protected Appender<ILoggingEvent> createAppenderInstance(Context 
loggerContext)
     {
+        if (_contextProperties != null && !_contextProperties.isEmpty())
+        {
+            for (Map.Entry<String, String> property : 
_contextProperties.entrySet())
+            {
+                final String key = property.getKey();
+                final String value = property.getValue();
+                final String existingValue = loggerContext.getProperty(key);
+                if (existingValue != null && !Objects.equals(existingValue, 
value))
+                {
+                    _logger.warn("Logback context property key '{}' value '{}' 
overwritten with value '{}", key, existingValue, value);
+                }
+                loggerContext.putProperty(key, value);
+
+                _stopLoggingActions.add(object ->
+                                  {
+                                      loggerContext.putProperty(key, 
existingValue);
+                                  });
+            }
+        }
+
         SocketAppender socketAppender = new SocketAppender()
                                         {
                                             @Override
@@ -125,6 +164,22 @@ public class BrokerLogbackSocketLoggerIm
         socketAppender.setIncludeCallerData(_includeCallerData);
         
socketAppender.setReconnectionDelay(Duration.buildByMilliseconds(_reconnectionDelay));
         return socketAppender;
+    }
 
+    @Override
+    public void stopLogging()
+    {
+        try
+        {
+            for (Action action : _stopLoggingActions)
+            {
+                action.performAction(null);
+            }
+            _stopLoggingActions.clear();
+        }
+        finally
+        {
+            super.stopLogging();
+        }
     }
 }

Modified: 
qpid/java/trunk/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/AppenderUtilsTest.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/AppenderUtilsTest.java?rev=1789275&r1=1789274&r2=1789275&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/AppenderUtilsTest.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/AppenderUtilsTest.java
 Wed Mar 29 06:18:42 2017
@@ -28,19 +28,17 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.concurrent.ScheduledExecutorService;
 
+import ch.qos.logback.classic.LoggerContext;
 import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
 import ch.qos.logback.classic.spi.ILoggingEvent;
-import ch.qos.logback.core.Context;
 import ch.qos.logback.core.encoder.Encoder;
 import ch.qos.logback.core.rolling.RollingFileAppender;
 import ch.qos.logback.core.rolling.RollingPolicy;
 import ch.qos.logback.core.rolling.TimeBasedRollingPolicy;
 import ch.qos.logback.core.rolling.TriggeringPolicy;
 import ch.qos.logback.core.rolling.helper.CompressionMode;
+
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
-import org.apache.qpid.server.logging.logback.AppenderUtils;
-import org.apache.qpid.server.logging.logback.FileLoggerSettings;
-import org.apache.qpid.server.logging.logback.RollingPolicyDecorator;
 import org.apache.qpid.test.utils.QpidTestCase;
 
 public class AppenderUtilsTest extends QpidTestCase
@@ -80,7 +78,7 @@ public class AppenderUtilsTest extends Q
     public void testCreateRollingFileAppenderDailyRolling()
     {
         final RollingFileAppender<ILoggingEvent> appender = new 
RollingFileAppender<>();
-        AppenderUtils.configureRollingFileAppender(_settings, 
mock(Context.class), appender);
+        AppenderUtils.configureRollingFileAppender(_settings, new 
LoggerContext(), appender);
 
         assertEquals("Unexpected appender file name", _testLogFileName, 
appender.getFile());
 
@@ -97,8 +95,8 @@ public class AppenderUtilsTest extends Q
         TriggeringPolicy triggeringPolicy = ((TimeBasedRollingPolicy) 
rollingPolicy).getTimeBasedFileNamingAndTriggeringPolicy();
         assertTrue("Unexpected triggering policy", triggeringPolicy instanceof 
AppenderUtils.DailyTriggeringPolicy);
         assertEquals("Unexpected triggering policy",
-                String.valueOf(MAX_FILE_SIZE) + "MB",
-                ((AppenderUtils.DailyTriggeringPolicy) 
triggeringPolicy).getMaxFileSize());
+                String.valueOf(MAX_FILE_SIZE) + " MB",
+                ((AppenderUtils.DailyTriggeringPolicy) 
triggeringPolicy).getMaxFileSize().toString());
         assertEquals("Unexpected layout", LAYOUT, ((PatternLayoutEncoder) 
appender.getEncoder()).getPattern());
     }
 
@@ -108,7 +106,7 @@ public class AppenderUtilsTest extends Q
         when(_settings.isCompressOldFiles()).thenReturn(Boolean.FALSE);
 
         RollingFileAppender<ILoggingEvent> appender = new 
RollingFileAppender<>();
-        AppenderUtils.configureRollingFileAppender(_settings, 
mock(Context.class), appender);
+        AppenderUtils.configureRollingFileAppender(_settings, new 
LoggerContext(), appender);
 
         assertEquals("Unexpected appender file name", _testLogFileName, 
appender.getFile());
 
@@ -122,8 +120,8 @@ public class AppenderUtilsTest extends Q
 
         TriggeringPolicy triggeringPolicy = appender.getTriggeringPolicy();
         assertEquals("Unexpected triggering policy",
-                String.valueOf(MAX_FILE_SIZE) + "MB",
-                ((AppenderUtils.SizeTriggeringPolicy) 
triggeringPolicy).getMaxFileSize());
+                String.valueOf(MAX_FILE_SIZE) + " MB",
+                ((AppenderUtils.SizeTriggeringPolicy) 
triggeringPolicy).getMaxFileSize().toString());
 
         Encoder encoder = appender.getEncoder();
         assertTrue("Unexpected encoder", encoder instanceof 
PatternLayoutEncoder);

Modified: 
qpid/java/trunk/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/StartupAppenderTest.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/StartupAppenderTest.java?rev=1789275&r1=1789274&r2=1789275&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/StartupAppenderTest.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/logging-logback/src/test/java/org/apache/qpid/server/logging/logback/StartupAppenderTest.java
 Wed Mar 29 06:18:42 2017
@@ -35,9 +35,9 @@ import java.util.ArrayList;
 import java.util.List;
 
 import ch.qos.logback.classic.Level;
+import ch.qos.logback.classic.LoggerContext;
 import ch.qos.logback.classic.spi.ILoggingEvent;
 import ch.qos.logback.core.Appender;
-import ch.qos.logback.core.Context;
 
 import org.apache.qpid.test.utils.QpidTestCase;
 
@@ -113,7 +113,7 @@ public class StartupAppenderTest extends
     private StartupAppender createAndStartStartupAppender()
     {
         StartupAppender startupAppender = new StartupAppender();
-        startupAppender.setContext(mock(Context.class));
+        startupAppender.setContext(new LoggerContext());
         startupAppender.start();
         return startupAppender;
     }

Modified: qpid/java/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/pom.xml?rev=1789275&r1=1789274&r2=1789275&view=diff
==============================================================================
--- qpid/java/trunk/pom.xml (original)
+++ qpid/java/trunk/pom.xml Wed Mar 29 06:18:42 2017
@@ -118,10 +118,10 @@
 
     <bdb-version>5.0.104</bdb-version>
     <derby-version>10.11.1.1</derby-version>
-    <logback-version>1.1.3</logback-version>
+    <logback-version>1.1.11</logback-version>
     <guava-version>18.0</guava-version>
     <fasterxml-jackson-version>2.5.3</fasterxml-jackson-version>
-    <slf4j-version>1.7.12</slf4j-version>
+    <slf4j-version>1.7.24</slf4j-version>
     <jetty-version>8.1.17.v20150415</jetty-version>
 
     <!-- dependency version numbers -->

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=1789275&r1=1789274&r2=1789275&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
 Wed Mar 29 06:18:42 2017
@@ -26,14 +26,22 @@ import java.io.FileInputStream;
 import java.io.FileReader;
 import java.io.IOException;
 import java.io.InputStream;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.Properties;
+import java.util.Set;
 
 import ch.qos.logback.classic.ClassicConstants;
+import ch.qos.logback.classic.LoggerContext;
 import junit.framework.TestCase;
 import junit.framework.TestResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.slf4j.MDC;
 
 public class QpidTestCase extends TestCase
 {
@@ -136,12 +144,14 @@ public class QpidTestCase extends TestCa
     private static final List<String> _exclusionList;
     private static final Properties OVERRIDDEN_PROPERTIES = 
loadOverriddenTestSystemProperties();
 
+    @Override
     public void run(TestResult testResult)
     {
+        final LoggerContext loggerContext = ((ch.qos.logback.classic.Logger) 
_logger).getLoggerContext();
         try
         {
             _currentInstance = this;
-            MDC.put(CLASS_QUALIFIED_TEST_NAME, getClassQualifiedTestName());
+            loggerContext.putProperty(CLASS_QUALIFIED_TEST_NAME, 
getClassQualifiedTestName());
 
             if (_exclusionList.contains(getClass().getPackage().getName() + 
".*") ||
                 _exclusionList.contains(getClass().getName() + "#*") ||
@@ -160,7 +170,7 @@ public class QpidTestCase extends TestCa
         {
             _logger.info(ClassicConstants.FINALIZE_SESSION_MARKER, "Shutting 
down sub-appender");
             _currentInstance = null;
-            MDC.remove(CLASS_QUALIFIED_TEST_NAME);
+            loggerContext.putProperty(CLASS_QUALIFIED_TEST_NAME, null);
             revertTestSystemProperties();
         }
     }
@@ -278,12 +288,14 @@ public class QpidTestCase extends TestCa
         }
     }
 
+    @Override
     protected void setUp() throws Exception
     {
         _logger.info("========== start " + getTestName() + " ==========");
         super.setUp();
     }
 
+    @Override
     protected void tearDown() throws Exception
     {
         _logger.info("========== tearDown " + getTestName() + " ==========");

Added: 
qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/LogbackPropertyValueDiscriminator.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/LogbackPropertyValueDiscriminator.java?rev=1789275&view=auto
==============================================================================
--- 
qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/LogbackPropertyValueDiscriminator.java
 (added)
+++ 
qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/LogbackPropertyValueDiscriminator.java
 Wed Mar 29 06:18:42 2017
@@ -0,0 +1,62 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 org.apache.qpid.test.utils;
+
+import ch.qos.logback.classic.spi.ILoggingEvent;
+import ch.qos.logback.classic.spi.LoggerContextVO;
+import ch.qos.logback.core.sift.AbstractDiscriminator;
+
+public class LogbackPropertyValueDiscriminator extends 
AbstractDiscriminator<ILoggingEvent>
+{
+    private String _key;
+    private String _defaultValue;
+
+    @Override
+    public String getDiscriminatingValue(final ILoggingEvent event)
+    {
+        final LoggerContextVO context = event.getLoggerContextVO();
+        if (context != null && context.getPropertyMap() != null && 
context.getPropertyMap().get(_key) != null)
+        {
+            return context.getPropertyMap().get(_key);
+        }
+        return _defaultValue;
+    }
+
+    @Override
+    public String getKey()
+    {
+        return _key;
+    }
+
+    public void setKey(String key)
+    {
+        _key = key;
+    }
+
+    public String getDefaultValue() {
+        return _defaultValue;
+    }
+
+    public void setDefaultValue(String defaultValue) {
+        _defaultValue = defaultValue;
+    }
+
+}

Modified: 
qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java?rev=1789275&r1=1789274&r2=1789275&view=diff
==============================================================================
--- 
qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
 (original)
+++ 
qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
 Wed Mar 29 06:18:42 2017
@@ -779,7 +779,7 @@ public class QpidBrokerTestCase extends
 
     private File getFileFromSiftingAppender(final 
ch.qos.logback.classic.Logger logger)
     {
-        String key = MDC.get(QpidTestCase.CLASS_QUALIFIED_TEST_NAME);
+        String key = 
logger.getLoggerContext().getProperty(QpidTestCase.CLASS_QUALIFIED_TEST_NAME);
 
         for (Iterator<Appender<ILoggingEvent>> index = 
logger.iteratorForAppenders(); index.hasNext(); /* do nothing */)
         {

Modified: 
qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/SpawnedBrokerHolder.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/SpawnedBrokerHolder.java?rev=1789275&r1=1789274&r2=1789275&view=diff
==============================================================================
--- 
qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/SpawnedBrokerHolder.java
 (original)
+++ 
qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/SpawnedBrokerHolder.java
 Wed Mar 29 06:18:42 2017
@@ -481,14 +481,17 @@ public class SpawnedBrokerHolder extends
         String remotelogback = "remotelogback";
 
         Map<String, String> mdc = new HashMap<>();
-        mdc.put(QpidBrokerTestCase.CLASS_QUALIFIED_TEST_NAME, 
getClassQualifiedTestName());
         mdc.put("origin", getLogPrefix());
 
+        Map<String, String> contextProperties = new HashMap<>();
+        contextProperties.put(QpidBrokerTestCase.CLASS_QUALIFIED_TEST_NAME, 
getClassQualifiedTestName());
+
         Map<String, Object> loggerAttrs = new HashMap<>();
         loggerAttrs.put(BrokerLogger.TYPE, BrokerLogbackSocketLogger.TYPE);
         loggerAttrs.put(BrokerLogbackSocketLogger.NAME, remotelogback);
         loggerAttrs.put(BrokerLogbackSocketLogger.PORT, 
QpidBrokerTestCase.LOGBACK_REMOTE_PORT);
         loggerAttrs.put(BrokerLogbackSocketLogger.MAPPED_DIAGNOSTIC_CONTEXT, 
mdc);
+        loggerAttrs.put(BrokerLogbackSocketLogger.CONTEXT_PROPERTIES, 
contextProperties);
 
         configuration.addObjectConfiguration(BrokerLogger.class, loggerAttrs);
 

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=1789275&r1=1789274&r2=1789275&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/main/resources/logback-test.xml (original)
+++ qpid/java/trunk/systests/src/main/resources/logback-test.xml Wed Mar 29 
06:18:42 2017
@@ -29,7 +29,7 @@
     <define name="receiverPort" 
class="org.apache.qpid.test.utils.LogbackSocketPortNumberDefiner"/>
 
     <appender name="RootSiftAppender" 
class="ch.qos.logback.classic.sift.SiftingAppender">
-        <discriminator>
+        <discriminator 
class="org.apache.qpid.test.utils.LogbackPropertyValueDiscriminator">
             <Key>classQualifiedTestName</Key>
             <DefaultValue>testrun</DefaultValue>
         </discriminator>
@@ -39,7 +39,7 @@
                 <Append>False</Append>
                 <encoder>
                     <!-- origin identifies the broker, valuable when the test 
involves multiple brokers -->
-                    <pattern>%date %-7X{origin} %-5level [%thread] %logger{10} 
%msg%n</pattern>
+                    <pattern>%date %-8X{origin} %-5level [%thread] %logger{10} 
%msg%n</pattern>
                 </encoder>
             </appender>
         </sift>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to