ceki        2004/04/28 10:54:03

  Modified:    tests/witness xmlLayout.mdc.1 xmlLayout.1 xmlLayout.3
                        xmlLayout.null xmlLayout.2
               tests/src/java/org/apache/log4j/xml XMLLayoutTestCase.java
               src/java/org/apache/log4j/spi LoggingEvent.java
               src/java/org/apache/log4j/xml XMLLayout.java
  Added:       tests/src/java/org/apache/log4j/util
                        XMLSequenceNumberFilter.java
  Log:
  Added a sequenceNumber field to LoggingEvent
  
  Revision  Changes    Path
  1.3       +1 -1      logging-log4j/tests/witness/xmlLayout.mdc.1
  
  Index: xmlLayout.mdc.1
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/witness/xmlLayout.mdc.1,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- xmlLayout.mdc.1   9 Jul 2003 07:35:49 -0000       1.2
  +++ xmlLayout.mdc.1   28 Apr 2004 17:54:02 -0000      1.3
  @@ -1,4 +1,4 @@
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="DEBUG" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="DEBUG" thread="main">
   <log4j:message><![CDATA[Hello]]></log4j:message>
   <log4j:MDC>
       <log4j:data name="key1" value="val1"/>
  
  
  
  1.4       +15 -15    logging-log4j/tests/witness/xmlLayout.1
  
  Index: xmlLayout.1
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/witness/xmlLayout.1,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- xmlLayout.1       14 Nov 2002 08:48:40 -0000      1.3
  +++ xmlLayout.1       28 Apr 2004 17:54:02 -0000      1.4
  @@ -1,48 +1,48 @@
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase$X" timestamp="XXX" 
level="INFO" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase$X" timestamp="XXX" 
sequenceNumber="XXX" level="INFO" thread="main">
   <log4j:message><![CDATA[in X() constructor]]></log4j:message>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="DEBUG" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="DEBUG" thread="main">
   <log4j:message><![CDATA[Message 0]]></log4j:message>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="DEBUG" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="DEBUG" 
thread="main">
   <log4j:message><![CDATA[Message 0]]></log4j:message>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="INFO" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="INFO" thread="main">
   <log4j:message><![CDATA[Message 1]]></log4j:message>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="INFO" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="INFO" 
thread="main">
   <log4j:message><![CDATA[Message 1]]></log4j:message>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="WARN" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="WARN" thread="main">
   <log4j:message><![CDATA[Message 2]]></log4j:message>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="WARN" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="WARN" 
thread="main">
   <log4j:message><![CDATA[Message 2]]></log4j:message>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="ERROR" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="ERROR" thread="main">
   <log4j:message><![CDATA[Message 3]]></log4j:message>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="ERROR" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="ERROR" 
thread="main">
   <log4j:message><![CDATA[Message 3]]></log4j:message>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="FATAL" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="FATAL" thread="main">
   <log4j:message><![CDATA[Message 4]]></log4j:message>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="FATAL" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="FATAL" 
thread="main">
   <log4j:message><![CDATA[Message 4]]></log4j:message>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="DEBUG" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="DEBUG" thread="main">
   <log4j:message><![CDATA[Message 5]]></log4j:message>
   <log4j:throwable><![CDATA[java.lang.Exception: Just testing
        at org.apache.log4j.xml.XMLLayoutTestCase.common(X)
  @@ -61,7 +61,7 @@
   ]]></log4j:throwable>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="DEBUG" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="DEBUG" 
thread="main">
   <log4j:message><![CDATA[Message 5]]></log4j:message>
   <log4j:throwable><![CDATA[java.lang.Exception: Just testing
        at org.apache.log4j.xml.XMLLayoutTestCase.common(X)
  @@ -80,7 +80,7 @@
   ]]></log4j:throwable>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="ERROR" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="ERROR" thread="main">
   <log4j:message><![CDATA[Message 6]]></log4j:message>
   <log4j:throwable><![CDATA[java.lang.Exception: Just testing
        at org.apache.log4j.xml.XMLLayoutTestCase.common(X)
  @@ -99,7 +99,7 @@
   ]]></log4j:throwable>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="ERROR" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="ERROR" 
thread="main">
   <log4j:message><![CDATA[Message 6]]></log4j:message>
   <log4j:throwable><![CDATA[java.lang.Exception: Just testing
        at org.apache.log4j.xml.XMLLayoutTestCase.common(X)
  
  
  
  1.3       +1 -1      logging-log4j/tests/witness/xmlLayout.3
  
  Index: xmlLayout.3
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/witness/xmlLayout.3,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- xmlLayout.3       9 Oct 2002 22:50:08 -0000       1.2
  +++ xmlLayout.3       28 Apr 2004 17:54:02 -0000      1.3
  @@ -1,4 +1,4 @@
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="DEBUG" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="DEBUG" thread="main">
   <log4j:message><![CDATA[Message with embedded 
<![CDATA[<hello>hi</hello>]]>]]&gt;<![CDATA[.]]></log4j:message>
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" 
method="testCDATA" file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
  
  
  
  1.3       +3 -3      logging-log4j/tests/witness/xmlLayout.null
  
  Index: xmlLayout.null
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/witness/xmlLayout.null,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- xmlLayout.null    3 Mar 2003 15:24:03 -0000       1.2
  +++ xmlLayout.null    28 Apr 2004 17:54:02 -0000      1.3
  @@ -1,12 +1,12 @@
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="DEBUG" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="DEBUG" thread="main">
   <log4j:message><![CDATA[hi]]></log4j:message>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="DEBUG" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="DEBUG" thread="main">
   <log4j:message><![CDATA[]]></log4j:message>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="DEBUG" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="DEBUG" thread="main">
   <log4j:message><![CDATA[hi]]></log4j:message>
   <log4j:throwable><![CDATA[java.lang.Exception
        at org.apache.log4j.xml.XMLLayoutTestCase.testNull(X)
  
  
  
  1.5       +15 -15    logging-log4j/tests/witness/xmlLayout.2
  
  Index: xmlLayout.2
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/witness/xmlLayout.2,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- xmlLayout.2       14 Nov 2002 08:48:40 -0000      1.4
  +++ xmlLayout.2       28 Apr 2004 17:54:02 -0000      1.5
  @@ -1,59 +1,59 @@
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase$X" timestamp="XXX" 
level="INFO" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase$X" timestamp="XXX" 
sequenceNumber="XXX" level="INFO" thread="main">
   <log4j:message><![CDATA[in X() constructor]]></log4j:message>
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase$X" 
method="&lt;init&gt;" file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="DEBUG" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="DEBUG" thread="main">
   <log4j:message><![CDATA[Message 0]]></log4j:message>
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" 
file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="DEBUG" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="DEBUG" 
thread="main">
   <log4j:message><![CDATA[Message 0]]></log4j:message>
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" 
file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="INFO" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="INFO" thread="main">
   <log4j:message><![CDATA[Message 1]]></log4j:message>
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" 
file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="INFO" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="INFO" 
thread="main">
   <log4j:message><![CDATA[Message 1]]></log4j:message>
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" 
file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="WARN" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="WARN" thread="main">
   <log4j:message><![CDATA[Message 2]]></log4j:message>
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" 
file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="WARN" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="WARN" 
thread="main">
   <log4j:message><![CDATA[Message 2]]></log4j:message>
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" 
file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="ERROR" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="ERROR" thread="main">
   <log4j:message><![CDATA[Message 3]]></log4j:message>
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" 
file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="ERROR" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="ERROR" 
thread="main">
   <log4j:message><![CDATA[Message 3]]></log4j:message>
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" 
file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="FATAL" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="FATAL" thread="main">
   <log4j:message><![CDATA[Message 4]]></log4j:message>
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" 
file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="FATAL" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="FATAL" 
thread="main">
   <log4j:message><![CDATA[Message 4]]></log4j:message>
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" 
file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="DEBUG" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="DEBUG" thread="main">
   <log4j:message><![CDATA[Message 5]]></log4j:message>
   <log4j:throwable><![CDATA[java.lang.Exception: Just testing
        at org.apache.log4j.xml.XMLLayoutTestCase.common(X)
  @@ -73,7 +73,7 @@
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" 
file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="DEBUG" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="DEBUG" 
thread="main">
   <log4j:message><![CDATA[Message 5]]></log4j:message>
   <log4j:throwable><![CDATA[java.lang.Exception: Just testing
        at org.apache.log4j.xml.XMLLayoutTestCase.common(X)
  @@ -93,7 +93,7 @@
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" 
file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
level="ERROR" thread="main">
  +<log4j:event logger="org.apache.log4j.xml.XMLLayoutTestCase" timestamp="XXX" 
sequenceNumber="XXX" level="ERROR" thread="main">
   <log4j:message><![CDATA[Message 6]]></log4j:message>
   <log4j:throwable><![CDATA[java.lang.Exception: Just testing
        at org.apache.log4j.xml.XMLLayoutTestCase.common(X)
  @@ -113,7 +113,7 @@
   <log4j:locationInfo class="org.apache.log4j.xml.XMLLayoutTestCase" method="common" 
file="XMLLayoutTestCase.java" line="X"/>
   </log4j:event>
   
  -<log4j:event logger="root" timestamp="XXX" level="ERROR" thread="main">
  +<log4j:event logger="root" timestamp="XXX" sequenceNumber="XXX" level="ERROR" 
thread="main">
   <log4j:message><![CDATA[Message 6]]></log4j:message>
   <log4j:throwable><![CDATA[java.lang.Exception: Just testing
        at org.apache.log4j.xml.XMLLayoutTestCase.common(X)
  
  
  
  1.10      +11 -4     
logging-log4j/tests/src/java/org/apache/log4j/xml/XMLLayoutTestCase.java
  
  Index: XMLLayoutTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/logging-log4j/tests/src/java/org/apache/log4j/xml/XMLLayoutTestCase.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XMLLayoutTestCase.java    27 Feb 2004 16:47:37 -0000      1.9
  +++ XMLLayoutTestCase.java    28 Apr 2004 17:54:03 -0000      1.10
  @@ -30,6 +30,7 @@
   import org.apache.log4j.util.SunReflectFilter;
   import org.apache.log4j.util.Transformer;
   import org.apache.log4j.util.XMLLineAttributeFilter;
  +import org.apache.log4j.util.XMLSequenceNumberFilter;
   import org.apache.log4j.util.XMLTimestampFilter;
   import org.apache.log4j.xml.XMLLayout;
   
  @@ -60,7 +61,8 @@
       Transformer.transform(
         TEMP, FILTERED,
         new Filter[] {
  -        new LineNumberFilter(), new XMLTimestampFilter(),
  +        new LineNumberFilter(), new XMLTimestampFilter(), 
  +        new XMLSequenceNumberFilter(),
           new SunReflectFilter()
         });
       assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.1"));
  @@ -75,6 +77,7 @@
         TEMP, FILTERED,
         new Filter[] {
           new LineNumberFilter(), new XMLTimestampFilter(),
  +        new XMLSequenceNumberFilter(),
           new XMLLineAttributeFilter(), new SunReflectFilter()
         });
       assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.2"));
  @@ -91,6 +94,7 @@
         TEMP, FILTERED,
         new Filter[] {
           new LineNumberFilter(), new XMLTimestampFilter(),
  +        new XMLSequenceNumberFilter(),
           new XMLLineAttributeFilter(), new SunReflectFilter()
         });
       assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.3"));
  @@ -106,7 +110,8 @@
       logger.debug("hi", e);
       Transformer.transform(
         TEMP, FILTERED,
  -      new Filter[] { new LineNumberFilter(), new XMLTimestampFilter() });
  +      new Filter[] { new LineNumberFilter(), new XMLTimestampFilter(),  
  +          new XMLSequenceNumberFilter() });
       assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.null"));
     }
   
  @@ -126,7 +131,8 @@
       logger.debug("Hello");
       Transformer.transform(
         TEMP, FILTERED,
  -      new Filter[] { new LineNumberFilter(), new XMLTimestampFilter() });
  +      new Filter[] { new LineNumberFilter(), new XMLTimestampFilter(), 
  +          new XMLSequenceNumberFilter()});
       assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.mdc.1"));
     }
   
  @@ -141,7 +147,8 @@
       logger.debug("Hello");
       Transformer.transform(
         TEMP, FILTERED,
  -      new Filter[] { new LineNumberFilter(), new XMLTimestampFilter() });
  +      new Filter[] { new LineNumberFilter(), new XMLTimestampFilter(),
  +          new XMLSequenceNumberFilter() });
       assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.mdc.2"));
     }
   
  
  
  
  1.1                  
logging-log4j/tests/src/java/org/apache/log4j/util/XMLSequenceNumberFilter.java
  
  Index: XMLSequenceNumberFilter.java
  ===================================================================
  /*
   * Copyright 1999,2004 The Apache Software Foundation.
   * 
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  package org.apache.log4j.util;
  
  import org.apache.oro.text.perl.Perl5Util;
  
  
  public class XMLSequenceNumberFilter implements Filter {
    Perl5Util util = new Perl5Util();
  
    /**
     * If the input string contains the pattern 'sequenceNumber="123"', then
     * replace the number 123 by XXX and return the result.
     */
    public String filter(String in) {
      if (util.match("/sequenceNumber=\"\\d{1,13}\"/", in)) {
        return util.substitute(
          "s/sequenceNumber=\"\\d{1,13}\"/sequenceNumber=\"XXX\"/", in);
      } else {
        return in;
      }
    }
  }
  
  
  
  1.50      +63 -5     logging-log4j/src/java/org/apache/log4j/spi/LoggingEvent.java
  
  Index: LoggingEvent.java
  ===================================================================
  RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/spi/LoggingEvent.java,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- LoggingEvent.java 23 Apr 2004 07:18:21 -0000      1.49
  +++ LoggingEvent.java 28 Apr 2004 17:54:03 -0000      1.50
  @@ -60,6 +60,17 @@
     static final Class[] TO_LEVEL_PARAMS = new Class[] { int.class };
     static final Hashtable methodCache = new Hashtable( 3 );    // use a tiny table
   
  +  
  +  /**
  +   * LoggingEvent are stamped with a [EMAIL PROTECTED] #sequenceNumber}. The 
  +   * <code>sequenceCount</code> static variable keeps track of the current count.
  +   * 
  +   * The count starts at 1 (one).
  +   * 
  +   * @since 1.3
  +   */
  +  static long sequenceCount = 1;
  +
     /**
      * Fully qualified name of the calling category class.
      */
  @@ -163,9 +174,18 @@
      * The number of milliseconds elapsed from 1/1/1970 until logging event was
      * created.
      */
  -  public final long timeStamp;
  +  public long timeStamp;
   
     /**
  +   * 
  +   * Each logging event bears a sequence number. 
  +   * 
  +   * @since 1.3
  +   */
  +  long sequenceNumber;
  +  
  +  
  +  /**
      * Location information for the caller.
      */
     private LocationInfo locationInfo;
  @@ -185,8 +205,8 @@
      * @param message The message of this event.
      * @param throwable The throwable of this event.
      */
  -  public LoggingEvent( String fqnOfCategoryClass, Category logger, Priority 
priority, Object message,
  -    Throwable throwable ) {
  +  public LoggingEvent( String fqnOfCategoryClass, Category logger, 
  +                       Priority priority, Object message, Throwable throwable ) {
       this.fqnOfCategoryClass = fqnOfCategoryClass;
       this.logger = logger;
       this.categoryName = logger.getName(  );
  @@ -198,6 +218,7 @@
       }
   
       timeStamp = System.currentTimeMillis(  );
  +    sequenceNumber = sequenceCount++;
     }
   
   
  @@ -217,8 +238,8 @@
      * @param message The message of this event.
      * @param throwable The throwable of this event.
      */
  -  public LoggingEvent( String fqnOfCategoryClass, Category logger, long timeStamp, 
Priority priority, Object message,
  -    Throwable throwable ) {
  +  public LoggingEvent( String fqnOfCategoryClass, Category logger, long timeStamp, 
  +                       Priority priority, Object message, Throwable throwable ) {
       this.fqnOfCategoryClass = fqnOfCategoryClass;
       this.logger = logger;
       this.categoryName = logger.getName(  );
  @@ -554,6 +575,22 @@
     }
   
   
  +  /**
  +   * 
  +   * @since 1.3
  +   */
  +  public long getSequenceNumber() {
  +    return sequenceNumber;
  +  }
  +
  +  /**
  +   * 
  +   * @since 1.3
  +   */
  +  public void setSequenceNumber(long sequenceNumber) {
  +    this.sequenceNumber = sequenceNumber;
  +  }
  +  
     public String getThreadName(  ) {
       if ( threadName == null ) {
         threadName = ( Thread.currentThread(  ) ).getName(  );
  @@ -695,5 +732,26 @@
         // 1.1.x. We have to resort to this hack instead.
         oos.writeObject( clazz.getName(  ) );
       }
  +  }
  +  
  +  
  +  /**
  +   * Getter for the event's time stamp. The time stamp is calculated starting
  +   * from 1970-01-01 GMT.
  +   *
  +   * @since 1.3
  +   */
  +  public long getTimeStamp() {
  +    return timeStamp;
  +  }
  +  
  +  /**
  +   * Setter for the even'ts time stamp.
  +   * See also [EMAIL PROTECTED] #getTimeStamp}.
  +   * @since 1.3
  +   */
  + 
  +  public void setTimeStamp(long timeStamp) {
  +    this.timeStamp = timeStamp;
     }
   }
  
  
  
  1.26      +2 -0      logging-log4j/src/java/org/apache/log4j/xml/XMLLayout.java
  
  Index: XMLLayout.java
  ===================================================================
  RCS file: /home/cvs/logging-log4j/src/java/org/apache/log4j/xml/XMLLayout.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- XMLLayout.java    27 Feb 2004 16:47:35 -0000      1.25
  +++ XMLLayout.java    28 Apr 2004 17:54:03 -0000      1.26
  @@ -106,6 +106,8 @@
       output.write(event.getLoggerName());
       output.write("\" timestamp=\"");
       output.write(Long.toString(event.timeStamp));
  +    output.write("\" sequenceNumber=\"");
  +    output.write(Long.toString(event.getSequenceNumber()));
       output.write("\" level=\"");
       output.write(event.getLevel().toString());
       output.write("\" thread=\"");
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to