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