You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2017/04/10 14:43:39 UTC

svn commit: r1790838 - in /qpid/java/branches/6.0.x: ./ broker-core/src/main/java/org/apache/qpid/server/logging/ broker-core/src/test/java/org/apache/qpid/server/logging/ broker/src/main/assembly/dependency-verification/ client/src/main/assembly/depen...

Author: orudyy
Date: Mon Apr 10 14:43:39 2017
New Revision: 1790838

URL: http://svn.apache.org/viewvc?rev=1790838&view=rev
Log:
QPID-7468,QPID-7730,QPID-7736,QPID-7737: Upgrade logback to version 1.2.2 and slf4j to version 1.7.25

The changes merged from 6.1.x branch using
svn merge -c 1790828 ^/qpid/java/branches/6.1.x
The merge conflicts are resolved manually

Added:
    qpid/java/branches/6.0.x/systests/src/main/java/org/apache/qpid/test/utils/LogbackPropertyValueDiscriminator.java
      - copied unchanged from r1790828, qpid/java/branches/6.1.x/systests/src/main/java/org/apache/qpid/test/utils/LogbackPropertyValueDiscriminator.java
Modified:
    qpid/java/branches/6.0.x/   (props changed)
    qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/AppenderUtils.java
    qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerLogbackSocketLogger.java
    qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerLogbackSocketLoggerImpl.java
    qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/logging/AppenderUtilsTest.java
    qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/logging/StartupAppenderTest.java
    qpid/java/branches/6.0.x/broker/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE
    qpid/java/branches/6.0.x/client/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE
    qpid/java/branches/6.0.x/perftests/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE
    qpid/java/branches/6.0.x/pom.xml
    qpid/java/branches/6.0.x/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
    qpid/java/branches/6.0.x/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java   (contents, props changed)
    qpid/java/branches/6.0.x/systests/src/main/resources/logback-test.xml

Propchange: qpid/java/branches/6.0.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 10 14:43:39 2017
@@ -9,6 +9,7 @@
 /qpid/branches/java-broker-vhost-refactor/java:1493674-1494547
 /qpid/branches/java-network-refactor/qpid/java:805429-821809
 /qpid/branches/qpid-2935/qpid/java:1061302-1072333
-/qpid/java/branches/6.1.x:1767487,1770199,1774599,1785143,1785279,1785819,1786019,1786342,1786731,1786743,1786924,1786930,1786935,1786941,1787035,1789672,1790234
-/qpid/java/trunk:1715445-1715447,1715586,1715940,1716086-1716087,1716127-1716128,1716141,1716153,1716155,1716194,1716204,1716209,1716227,1716277,1716357,1716368,1716370,1716374,1716432,1716444-1716445,1716455,1716461,1716474,1716489,1716497,1716515,1716555,1716602,1716606-1716610,1716619,1716636,1717269,1717299,1717401,1717446,1717449,1717626,1717691,1717735,1717780,1718744,1718889,1718893,1718918,1718922,1719026,1719028,1719033,1719037,1719047,1719051,1720340,1720664,1721151,1721198,1722019-1722020,1722246,1722339,1722416,1722674,1722678,1722683,1722711,1723064,1723194,1723563,1724216,1724251,1724257,1724292,1724375,1724397,1724432,1724582,1724603,1724780,1724843-1724844,1725295,1725569,1725760,1726176,1726244-1726246,1726249,1726358,1726436,1726449,1726456,1726646,1726653,1726755,1726778,1727532,1727555,1727608,1727951,1727954,1728089,1728167,1728302,1728497,1728501,1728524,1728639,1728651,1728772,1729215,1729297,1729347,1729356,1729406,1729408,1729412,1729515,1729638,1729656-1729
 657,1729783,1729828,1729832,1729841,1729851,1729886,1729904,1729973,1730019,1730025,1730052,1730072,1730088,1730494,1730499,1730547,1730559,1730567,1730578,1730585,1730651,1730697,1730712-1730713,1730805,1731029,1731110,1731210,1731225,1731444,1731551,1731612,1732184,1732452,1732461,1732465,1732525,1732812,1733467,1734452,1736478,1736751,1736838,1737804,1737835,1737853,1737984,1737992,1738119,1738135,1738231,1738271,1738607,1738610,1738731,1738914,1741702,1742257,1742284,1742339,1742544,1742900,1742926,1743161,1743228,1743383,1743982,1744012-1744013,1744046,1744123,1744157,1744276,1744403,1745424,1745450,1746140,1746273,1747526,1748254,1748723,1748818,1749349,1749399,1749482,1749524,1750359-1750360,1750943,1751433,1754251,1754354,1754392,1754429,1754510,1754550,1755561,1755957,1758395,1758628,1758640,1758766,1758964,1758980,1759379,1759774,1759783,1759829,1760032,1760337,1760522,1760546,1761399,1761561,1761567,1762070,1762460,1763653,1763966,1763988,1765350,1765609,1765828,1766032,1
 766547,1766553,1766796,1769597,1772365,1774446,1785117,1785158,1785311,1785854,1785936,1786188,1786342,1786690,1786723,1786914,1786923,1789526,1789670-1789671,1789938
+/qpid/java/branches/6.1.x:1767487,1770199,1774599,1785143,1785279,1785819,1786019,1786342,1786731,1786743,1786924,1786930,1786935,1786941,1787035,1789672,1790234,1790828
+/qpid/java/trunk:1715445-1715447,1715586,1715940,1716086-1716087,1716127-1716128,1716141,1716153,1716155,1716194,1716204,1716209,1716227,1716277,1716357,1716368,1716370,1716374,1716432,1716444-1716445,1716455,1716461,1716474,1716489,1716497,1716515,1716555,1716602,1716606-1716610,1716619,1716636,1717269,1717299,1717401,1717446,1717449,1717626,1717691,1717735,1717780,1718744,1718889,1718893,1718918,1718922,1719026,1719028,1719033,1719037,1719047,1719051,1720340,1720664,1721151,1721198,1722019-1722020,1722246,1722339,1722416,1722674,1722678,1722683,1722711,1723064,1723194,1723563,1724216,1724251,1724257,1724292,1724375,1724397,1724432,1724582,1724603,1724780,1724843-1724844,1725295,1725569,1725760,1726176,1726244-1726246,1726249,1726358,1726436,1726449,1726456,1726646,1726653,1726755,1726778,1727532,1727555,1727608,1727951,1727954,1728089,1728167,1728302,1728497,1728501,1728524,1728639,1728651,1728772,1729215,1729297,1729347,1729356,1729406,1729408,1729412,1729515,1729638,1729656-1729
 657,1729783,1729828,1729832,1729841,1729851,1729886,1729904,1729973,1730019,1730025,1730052,1730072,1730088,1730494,1730499,1730547,1730559,1730567,1730578,1730585,1730651,1730697,1730712-1730713,1730805,1731029,1731110,1731210,1731225,1731444,1731551,1731612,1732184,1732452,1732461,1732465,1732525,1732812,1733467,1734452,1736478,1736751,1736838,1737804,1737835,1737853,1737984,1737992,1738119,1738135,1738231,1738271,1738607,1738610,1738731,1738914,1741702,1742257,1742284,1742339,1742544,1742900,1742926,1743161,1743228,1743383,1743982,1744012-1744013,1744046,1744123,1744157,1744276,1744403,1745424,1745450,1746140,1746273,1747526,1748254,1748723,1748818,1749349,1749399,1749482,1749524,1750359-1750360,1750943,1751433,1754251,1754354,1754392,1754429,1754510,1754550,1755561,1755957,1758395,1758628,1758640,1758766,1758964,1758980,1759379,1759774,1759783,1759829,1760032,1760337,1760522,1760546,1761399,1761561,1761567,1762070,1762460,1763653,1763966,1763988,1765350,1765609,1765828,1766032,1
 766547,1766553,1766796,1769597,1772365,1774446,1785117,1785158,1785311,1785854,1785936,1786188,1786342,1786690,1786723,1786914,1786923,1789275,1789526,1789662,1789670-1789671,1789938,1790510,1790516-1790517,1790819
+/qpid/qpid-jms-amqp-0-x/trunk:1790821
 /qpid/trunk/qpid:796646-796653

Modified: qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/AppenderUtils.java
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/AppenderUtils.java?rev=1790838&r1=1790837&r2=1790838&view=diff
==============================================================================
--- qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/AppenderUtils.java (original)
+++ qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/AppenderUtils.java Mon Apr 10 14:43:39 2017
@@ -21,6 +21,8 @@
 package org.apache.qpid.server.logging;
 
 import java.io.File;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 
 import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
 import ch.qos.logback.classic.spi.ILoggingEvent;
@@ -32,6 +34,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;
 import org.apache.qpid.server.logging.logback.RollingPolicyDecorator;
 
@@ -95,6 +99,50 @@ public class AppenderUtils
         appender.setEncoder(encoder);
     }
 
+    private static void setMaxFileSize(TriggeringPolicy policy, FileSize fileSize)
+    {
+        final String setMaxFileSizeMethodName = "setMaxFileSize";
+
+        Method maxFileSizeMethod;
+        Object maxFileSizeArg;
+        try
+        {
+            maxFileSizeMethod =
+                    policy.getClass().getMethod(setMaxFileSizeMethodName, FileSize.class);
+            maxFileSizeArg = fileSize;
+        }
+        catch (NoSuchMethodException e)
+        {
+            try
+            {
+                maxFileSizeMethod =
+                        policy.getClass().getMethod(setMaxFileSizeMethodName, String.class);
+                maxFileSizeArg = String.valueOf(fileSize.getSize());
+            }
+            catch (NoSuchMethodException e1)
+            {
+                throw new IllegalStateException(String.format("Failed to find method %s on %s",
+                                                              setMaxFileSizeMethodName,
+                                                              policy.getClass()));
+            }
+        }
+
+        try
+        {
+            maxFileSizeMethod.invoke(policy, maxFileSizeArg);
+        }
+        catch (IllegalAccessException e)
+        {
+            throw new RuntimeException(String.format("Failed to reflectively invoke %s", maxFileSizeMethod.getName()),
+                                       e);
+        }
+        catch (InvocationTargetException e)
+        {
+            throw new RuntimeException(String.format("Failed to reflectively invoke %s", maxFileSizeMethod.getName()),
+                                       e.getCause());
+        }
+    }
+
     static void validateLogFilePermissions(final File file)
     {
         if ((file.exists() && (!file.isFile() || !file.canWrite())) || !file.getAbsoluteFile().getParentFile().canWrite())
@@ -114,12 +162,14 @@ public class AppenderUtils
     static class DailyTriggeringPolicy extends SizeAndTimeBasedFNATP<ILoggingEvent>
     {
         private final boolean _rollOnRestart;
+        private final String _maxFileSize;
         private boolean _isFirst = true;
 
         public DailyTriggeringPolicy(boolean isRollOnRestart, String maxFileSize)
         {
             _rollOnRestart = isRollOnRestart;
-            setMaxFileSize(maxFileSize);
+            _maxFileSize = maxFileSize;
+            AppenderUtils.setMaxFileSize(this, FileSize.valueOf(maxFileSize));
         }
 
         @Override
@@ -147,18 +197,23 @@ public class AppenderUtils
             }
         }
 
+        public String getMaxFileSizeAsString()
+        {
+            return _maxFileSize;
+        }
     }
 
     static class SizeTriggeringPolicy extends SizeBasedTriggeringPolicy<ILoggingEvent>
     {
         private final boolean _rollOnRestart;
+        private final String _maxFileSize;
         private boolean _isFirst = true;
 
         public SizeTriggeringPolicy(boolean isRollOnRestart, String maxFileSize)
         {
             _rollOnRestart = isRollOnRestart;
-            setMaxFileSize(maxFileSize);
-
+            _maxFileSize = maxFileSize;
+            AppenderUtils.setMaxFileSize(this, FileSize.valueOf(maxFileSize));
         }
 
         @Override
@@ -175,6 +230,10 @@ public class AppenderUtils
             }
         }
 
+        public String getMaxFileSizeAsString()
+        {
+            return _maxFileSize;
+        }
     }
 
     static class SimpleRollingPolicy extends FixedWindowRollingPolicy

Modified: qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerLogbackSocketLogger.java
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerLogbackSocketLogger.java?rev=1790838&r1=1790837&r2=1790838&view=diff
==============================================================================
--- qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerLogbackSocketLogger.java (original)
+++ qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerLogbackSocketLogger.java Mon Apr 10 14:43:39 2017
@@ -37,6 +37,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();
@@ -50,6 +51,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/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerLogbackSocketLoggerImpl.java
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerLogbackSocketLoggerImpl.java?rev=1790838&r1=1790837&r2=1790838&view=diff
==============================================================================
--- qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerLogbackSocketLoggerImpl.java (original)
+++ qpid/java/branches/6.0.x/broker-core/src/main/java/org/apache/qpid/server/logging/BrokerLogbackSocketLoggerImpl.java Mon Apr 10 14:43:39 2017
@@ -22,8 +22,11 @@
 package org.apache.qpid.server.logging;
 
 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.Level;
 import ch.qos.logback.classic.net.SocketAppender;
@@ -32,15 +35,22 @@ import ch.qos.logback.classic.spi.Loggin
 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;
 
@@ -56,6 +66,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)
     {
@@ -93,8 +106,38 @@ public class BrokerLogbackSocketLoggerIm
     }
 
     @Override
-    protected Appender<ILoggingEvent> createAppenderInstance(Context loggerContext)
+    public Map<String, String> getContextProperties()
+    {
+        return _contextProperties;
+    }
+
+    @Override
+    protected Appender<ILoggingEvent> createAppenderInstance(final 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(new Action<Void>()
+                {
+                    @Override
+                    public void performAction(final Void object)
+                    {
+                        loggerContext.putProperty(key, existingValue);
+                    }
+                });
+            }
+        }
+
         SocketAppender socketAppender = new SocketAppender()
                                         {
                                             @Override
@@ -127,6 +170,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/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/logging/AppenderUtilsTest.java
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/logging/AppenderUtilsTest.java?rev=1790838&r1=1790837&r2=1790838&view=diff
==============================================================================
--- qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/logging/AppenderUtilsTest.java (original)
+++ qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/logging/AppenderUtilsTest.java Mon Apr 10 14:43:39 2017
@@ -28,15 +28,16 @@ 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.RollingPolicyDecorator;
 import org.apache.qpid.test.utils.QpidTestCase;
@@ -78,7 +79,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());
 
@@ -96,7 +97,7 @@ public class AppenderUtilsTest extends Q
         assertTrue("Unexpected triggering policy", triggeringPolicy instanceof AppenderUtils.DailyTriggeringPolicy);
         assertEquals("Unexpected triggering policy",
                 String.valueOf(MAX_FILE_SIZE) + "MB",
-                ((AppenderUtils.DailyTriggeringPolicy) triggeringPolicy).getMaxFileSize());
+                ((AppenderUtils.DailyTriggeringPolicy) triggeringPolicy).getMaxFileSizeAsString().toString());
         assertEquals("Unexpected layout", LAYOUT, ((PatternLayoutEncoder) appender.getEncoder()).getPattern());
     }
 
@@ -106,7 +107,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());
 
@@ -121,7 +122,7 @@ public class AppenderUtilsTest extends Q
         TriggeringPolicy triggeringPolicy = appender.getTriggeringPolicy();
         assertEquals("Unexpected triggering policy",
                 String.valueOf(MAX_FILE_SIZE) + "MB",
-                ((AppenderUtils.SizeTriggeringPolicy) triggeringPolicy).getMaxFileSize());
+                ((AppenderUtils.SizeTriggeringPolicy) triggeringPolicy).getMaxFileSizeAsString().toString());
 
         Encoder encoder = appender.getEncoder();
         assertTrue("Unexpected encoder", encoder instanceof PatternLayoutEncoder);

Modified: qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/logging/StartupAppenderTest.java
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/logging/StartupAppenderTest.java?rev=1790838&r1=1790837&r2=1790838&view=diff
==============================================================================
--- qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/logging/StartupAppenderTest.java (original)
+++ qpid/java/branches/6.0.x/broker-core/src/test/java/org/apache/qpid/server/logging/StartupAppenderTest.java Mon Apr 10 14:43:39 2017
@@ -35,10 +35,11 @@ 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.server.configuration.BrokerProperties;
+import org.apache.qpid.server.logging.StartupAppender;
 import org.apache.qpid.test.utils.QpidTestCase;
 
 public class StartupAppenderTest extends QpidTestCase
@@ -113,7 +114,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/branches/6.0.x/broker/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/broker/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE?rev=1790838&r1=1790837&r2=1790838&view=diff
==============================================================================
--- qpid/java/branches/6.0.x/broker/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE (original)
+++ qpid/java/branches/6.0.x/broker/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE Mon Apr 10 14:43:39 2017
@@ -65,11 +65,11 @@ From: 'Mort Bay Consulting' (http://www.
     License: Apache Software License - Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0)    License: Eclipse Public License - Version 1.0  (http://www.eclipse.org/org/documents/epl-v10.php)
 
 From: 'QOS.ch' (http://www.qos.ch)
-  - Logback Classic Module (http://logback.qos.ch/logback-classic) ch.qos.logback:logback-classic:jar:1.1.3
+  - Logback Classic Module (http://logback.qos.ch/logback-classic) ch.qos.logback:logback-classic:jar:1.2.2
     License: Eclipse Public License - v 1.0  (http://www.eclipse.org/legal/epl-v10.html)    License: GNU Lesser General Public License  (http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html)
-  - Logback Core Module (http://logback.qos.ch/logback-core) ch.qos.logback:logback-core:jar:1.1.3
+  - Logback Core Module (http://logback.qos.ch/logback-core) ch.qos.logback:logback-core:jar:1.2.2
     License: Eclipse Public License - v 1.0  (http://www.eclipse.org/legal/epl-v10.html)    License: GNU Lesser General Public License  (http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html)
-  - SLF4J API Module (http://www.slf4j.org) org.slf4j:slf4j-api:jar:1.7.12
+  - SLF4J API Module (http://www.slf4j.org) org.slf4j:slf4j-api:jar:1.7.25
     License: MIT License  (http://www.opensource.org/licenses/mit-license.php)
 
 From: 'The Apache Software Foundation' (http://www.apache.org)

Modified: qpid/java/branches/6.0.x/client/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/client/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE?rev=1790838&r1=1790837&r2=1790838&view=diff
==============================================================================
--- qpid/java/branches/6.0.x/client/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE (original)
+++ qpid/java/branches/6.0.x/client/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE Mon Apr 10 14:43:39 2017
@@ -25,7 +25,7 @@ Apache Qpid JMS Client for AMQP 0-9-1/0-
 
 
 From: 'QOS.ch' (http://www.qos.ch)
-  - SLF4J API Module (http://www.slf4j.org) org.slf4j:slf4j-api:jar:1.7.12
+  - SLF4J API Module (http://www.slf4j.org) org.slf4j:slf4j-api:jar:1.7.25
     License: MIT License  (http://www.opensource.org/licenses/mit-license.php)
 
 From: 'The Apache Software Foundation' (http://www.apache.org/)

Modified: qpid/java/branches/6.0.x/perftests/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/perftests/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE?rev=1790838&r1=1790837&r2=1790838&view=diff
==============================================================================
--- qpid/java/branches/6.0.x/perftests/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE (original)
+++ qpid/java/branches/6.0.x/perftests/src/main/assembly/dependency-verification/DEPENDENCIES_REFERENCE Mon Apr 10 14:43:39 2017
@@ -37,11 +37,11 @@ From: 'FasterXML' (http://fasterxml.com/
     License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
 
 From: 'QOS.ch' (http://www.qos.ch)
-  - Logback Classic Module (http://logback.qos.ch/logback-classic) ch.qos.logback:logback-classic:jar:1.1.3
+  - Logback Classic Module (http://logback.qos.ch/logback-classic) ch.qos.logback:logback-classic:jar:1.2.2
     License: Eclipse Public License - v 1.0  (http://www.eclipse.org/legal/epl-v10.html)    License: GNU Lesser General Public License  (http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html)
-  - Logback Core Module (http://logback.qos.ch/logback-core) ch.qos.logback:logback-core:jar:1.1.3
+  - Logback Core Module (http://logback.qos.ch/logback-core) ch.qos.logback:logback-core:jar:1.2.2
     License: Eclipse Public License - v 1.0  (http://www.eclipse.org/legal/epl-v10.html)    License: GNU Lesser General Public License  (http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html)
-  - SLF4J API Module (http://www.slf4j.org) org.slf4j:slf4j-api:jar:1.7.12
+  - SLF4J API Module (http://www.slf4j.org) org.slf4j:slf4j-api:jar:1.7.25
     License: MIT License  (http://www.opensource.org/licenses/mit-license.php)
 
 From: 'The Apache Software Foundation' (http://www.apache.org/)

Modified: qpid/java/branches/6.0.x/pom.xml
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/pom.xml?rev=1790838&r1=1790837&r2=1790838&view=diff
==============================================================================
--- qpid/java/branches/6.0.x/pom.xml (original)
+++ qpid/java/branches/6.0.x/pom.xml Mon Apr 10 14:43:39 2017
@@ -113,10 +113,10 @@
     <at.sign>@</at.sign>
     <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.2.2</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.25</slf4j-version>
     <jetty-version>8.1.17.v20150415</jetty-version>
 
     <!-- dependency version numbers -->

Modified: qpid/java/branches/6.0.x/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java?rev=1790838&r1=1790837&r2=1790838&view=diff
==============================================================================
--- qpid/java/branches/6.0.x/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java (original)
+++ qpid/java/branches/6.0.x/qpid-test-utils/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java Mon Apr 10 14:43:39 2017
@@ -24,14 +24,22 @@ import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
-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
 {
@@ -137,12 +145,14 @@ public class QpidTestCase extends TestCa
         super();
     }
 
+    @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);
         }
     }
 
@@ -277,12 +287,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() + " ==========");

Modified: qpid/java/branches/6.0.x/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java?rev=1790838&r1=1790837&r2=1790838&view=diff
==============================================================================
--- qpid/java/branches/6.0.x/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java (original)
+++ qpid/java/branches/6.0.x/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java Mon Apr 10 14:43:39 2017
@@ -187,7 +187,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 */ )
         {
@@ -278,16 +278,17 @@ public class QpidBrokerTestCase extends
             String remotelogback = "remotelogback";
 
             Map<String, String> mdc = new HashMap<>();
-            mdc.put(CLASS_QUALIFIED_TEST_NAME, getClassQualifiedTestName());
             mdc.put("origin", "B-" + actualPort);
 
+            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, LOGBACK_REMOTE_PORT);
-
-            loggerAttrs.put(BrokerLogbackSocketLogger.MAPPED_DIAGNOSTIC_CONTEXT,
-                            mdc);
+            loggerAttrs.put(BrokerLogbackSocketLogger.MAPPED_DIAGNOSTIC_CONTEXT, mdc);
+            loggerAttrs.put(BrokerLogbackSocketLogger.CONTEXT_PROPERTIES, contextProperties);
 
             configuration.addObjectConfiguration(BrokerLogger.class, loggerAttrs);
 

Propchange: qpid/java/branches/6.0.x/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Apr 10 14:43:39 2017
@@ -8,5 +8,6 @@
 /qpid/branches/java-broker-vhost-refactor/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:1493674-1494547
 /qpid/branches/java-network-refactor/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java:805429-821809
 /qpid/branches/qpid-2935/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:1061302-1072333
-/qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:1754429
+/qpid/java/branches/6.1.x/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:1790828
+/qpid/java/trunk/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:1754429,1789275
 /qpid/trunk/qpid/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java:796646-796653

Modified: qpid/java/branches/6.0.x/systests/src/main/resources/logback-test.xml
URL: http://svn.apache.org/viewvc/qpid/java/branches/6.0.x/systests/src/main/resources/logback-test.xml?rev=1790838&r1=1790837&r2=1790838&view=diff
==============================================================================
--- qpid/java/branches/6.0.x/systests/src/main/resources/logback-test.xml (original)
+++ qpid/java/branches/6.0.x/systests/src/main/resources/logback-test.xml Mon Apr 10 14:43:39 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: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org