You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2013/07/10 17:49:03 UTC

svn commit: r1501806 - in /logging/log4j/log4j2/trunk: api/src/main/java/org/apache/logging/log4j/spi/ api/src/test/java/org/apache/logging/log4j/spi/ src/changes/

Author: rpopma
Date: Wed Jul 10 15:49:03 2013
New Revision: 1501806

URL: http://svn.apache.org/r1501806
Log:
LOG4J2-302: Added toString methods to ThreadContextStack/Map implementation classes

Modified:
    logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java
    logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextStack.java
    logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/MutableThreadContextStack.java
    logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextMapTest.java
    logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextStackTest.java
    logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/MutableThreadContextStackTest.java
    logging/log4j/log4j2/trunk/src/changes/changes.xml

Modified: logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java?rev=1501806&r1=1501805&r2=1501806&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java (original)
+++ logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextMap.java Wed Jul 10 15:49:03 2013
@@ -139,4 +139,10 @@ public class DefaultThreadContextMap imp
         final Map<String, String> map = localMap.get();
         return map == null || map.size() == 0;
     }
+
+    @Override
+    public String toString() {
+        Map<String, String> map = localMap.get();
+        return map == null ? "{}" : map.toString();
+    }
 }

Modified: logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextStack.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextStack.java?rev=1501806&r1=1501805&r2=1501806&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextStack.java (original)
+++ logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/DefaultThreadContextStack.java Wed Jul 10 15:49:03 2013
@@ -251,4 +251,10 @@ public class DefaultThreadContextStack i
         stack.set(Collections.unmodifiableList(copy));
         return result;
     }
+    
+    @Override
+    public String toString() {
+        final List<String> list = stack.get();
+        return list == null ? "[]" : list.toString();
+    }
 }

Modified: logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/MutableThreadContextStack.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/MutableThreadContextStack.java?rev=1501806&r1=1501805&r2=1501806&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/MutableThreadContextStack.java (original)
+++ logging/log4j/log4j2/trunk/api/src/main/java/org/apache/logging/log4j/spi/MutableThreadContextStack.java Wed Jul 10 15:49:03 2013
@@ -161,4 +161,9 @@ public class MutableThreadContextStack i
     public boolean retainAll(final Collection<?> objects) {
         return list.retainAll(objects);
     }
+    
+    @Override
+    public String toString() {
+        return String.valueOf(list);
+    }
 }

Modified: logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextMapTest.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextMapTest.java?rev=1501806&r1=1501805&r2=1501806&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextMapTest.java (original)
+++ logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextMapTest.java Wed Jul 10 15:49:03 2013
@@ -155,4 +155,17 @@ public class DefaultThreadContextMapTest
 
         assertFalse(immutable.isEmpty());
     }
+    
+    @Test
+    public void testToStringShowsMapContext() {
+        final DefaultThreadContextMap map = new DefaultThreadContextMap(true);
+        assertEquals("{}", map.toString());
+        
+        map.put("key1", "value1");
+        assertEquals("{key1=value1}", map.toString());
+        
+        map.remove("key1");
+        map.put("key2", "value2");
+        assertEquals("{key2=value2}", map.toString());
+    }
 }

Modified: logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextStackTest.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextStackTest.java?rev=1501806&r1=1501805&r2=1501806&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextStackTest.java (original)
+++ logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/DefaultThreadContextStackTest.java Wed Jul 10 15:49:03 2013
@@ -317,4 +317,18 @@ public class DefaultThreadContextStackTe
         assertTrue(stack.contains("msg3"));
     }
 
+    @Test
+    public void testToStringShowsListContents() {
+        final DefaultThreadContextStack stack = new DefaultThreadContextStack(true);
+        stack.clear();
+        assertEquals("[]", stack.toString());
+        
+        stack.push("msg1");
+        stack.add("msg2");
+        stack.push("msg3");
+        assertEquals("[msg1, msg2, msg3]", stack.toString());
+        
+        stack.retainAll(Arrays.asList("msg1", "msg3"));
+        assertEquals("[msg1, msg3]", stack.toString());
+    }
 }

Modified: logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/MutableThreadContextStackTest.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/MutableThreadContextStackTest.java?rev=1501806&r1=1501805&r2=1501806&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/MutableThreadContextStackTest.java (original)
+++ logging/log4j/log4j2/trunk/api/src/test/java/org/apache/logging/log4j/spi/MutableThreadContextStackTest.java Wed Jul 10 15:49:03 2013
@@ -320,4 +320,18 @@ public class MutableThreadContextStackTe
         assertFalse(stack.contains("msg2"));
         assertTrue(stack.contains("msg3"));
     }
+
+    @Test
+    public void testToStringShowsListContents() {
+        final MutableThreadContextStack stack = new MutableThreadContextStack(new ArrayList<String>());
+        assertEquals("[]", stack.toString());
+        
+        stack.push("msg1");
+        stack.add("msg2");
+        stack.push("msg3");
+        assertEquals("[msg1, msg2, msg3]", stack.toString());
+        
+        stack.retainAll(Arrays.asList("msg1", "msg3"));
+        assertEquals("[msg1, msg3]", stack.toString());
+    }
 }

Modified: logging/log4j/log4j2/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/src/changes/changes.xml?rev=1501806&r1=1501805&r2=1501806&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/src/changes/changes.xml (original)
+++ logging/log4j/log4j2/trunk/src/changes/changes.xml Wed Jul 10 15:49:03 2013
@@ -21,6 +21,9 @@
   </properties>
   <body>
     <release version="2.0-beta8" date="2013-??-??" description="Bug fixes and enhancements">
+      <action issue="LOG4J2-302" dev="rpopma" type="fix">
+        Added toString methods to ThreadContextStack/Map implementation classes.
+      </action>
       <action issue="LOG4J2-301" dev="rgoers" type="update">
         Add printf methods to Logger API.
       </action>