Return-Path: X-Original-To: apmail-logging-commits-archive@minotaur.apache.org Delivered-To: apmail-logging-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CF762104AF for ; Wed, 10 Jul 2013 15:49:33 +0000 (UTC) Received: (qmail 37843 invoked by uid 500); 10 Jul 2013 15:49:33 -0000 Delivered-To: apmail-logging-commits-archive@logging.apache.org Received: (qmail 37767 invoked by uid 500); 10 Jul 2013 15:49:29 -0000 Mailing-List: contact commits-help@logging.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@logging.apache.org Delivered-To: mailing list commits@logging.apache.org Received: (qmail 37746 invoked by uid 99); 10 Jul 2013 15:49:28 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Jul 2013 15:49:28 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 10 Jul 2013 15:49:25 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 1559C23889EA; Wed, 10 Jul 2013 15:49:04 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: 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/ Date: Wed, 10 Jul 2013 15:49:03 -0000 To: commits@logging.apache.org From: rpopma@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20130710154904.1559C23889EA@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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 map = localMap.get(); return map == null || map.size() == 0; } + + @Override + public String toString() { + Map 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 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()); + 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 @@ + + Added toString methods to ThreadContextStack/Map implementation classes. + Add printf methods to Logger API.