mwomack 2003/03/25 22:24:56 Modified: src/java/org/apache/log4j/helpers PatternParser.java Log: Support for %X MDC option to print entire contents of MDC, bug #18246, changes submitted by Paul Smith. Revision Changes Path 1.19 +23 -0 jakarta-log4j/src/java/org/apache/log4j/helpers/PatternParser.java Index: PatternParser.java =================================================================== RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/helpers/PatternParser.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- PatternParser.java 9 Oct 2002 22:50:03 -0000 1.18 +++ PatternParser.java 26 Mar 2003 06:24:56 -0000 1.19 @@ -16,6 +16,8 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Set; +import java.util.Iterator; // Contributors: Nelson Minar <([EMAIL PROTECTED]> // Igor E. Poteryaev <[EMAIL PROTECTED]> @@ -452,6 +454,27 @@ public String convert(LoggingEvent event) { + /** + * if there is no additional options, we output every single + * Key/Value pair for the MDC in a similar format to Hashtable.toString() + */ + + if( key == null) + { + StringBuffer buf = new StringBuffer("{"); + Set keySet = event.getMDCKeySet(); + for (Iterator i = keySet.iterator(); i.hasNext(); ) { + Object item = i.next(); + Object val = event.getMDC(item.toString()); + buf.append("{").append(item).append(",").append(val).append("}"); + } + buf.append("}"); + return buf.toString(); + } + + /** + * otherwise they just want a single key output + */ Object val = event.getMDC(key); if(val == null) { return null;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]