You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by mw...@apache.org on 2003/03/26 07:24:56 UTC
cvs commit: jakarta-log4j/src/java/org/apache/log4j/helpers PatternParser.java
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 <(n...@monkey.org>
// Igor E. Poteryaev <ja...@mail.ru>
@@ -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: log4j-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: log4j-dev-help@jakarta.apache.org