I have modified DOMConfigurator and
Log4jEntityResolver, and added a new testcase to
demonstrate that the problem is fixed.

Hope this is useful,
Tim

__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com
Index: src/java/org/apache/log4j/Category.java
===================================================================
RCS file: /home/cvspublic/jakarta-log4j/src/java/org/apache/log4j/Category.java,v
retrieving revision 1.77
diff -u -r1.77 Category.java
--- src/java/org/apache/log4j/Category.java     23 Aug 2003 16:00:52 -0000      1.77
+++ src/java/org/apache/log4j/Category.java     17 Oct 2003 07:39:23 -0000
@@ -272,15 +272,11 @@
    * @since 1.0
    */
   void closeNestedAppenders() {
-    Enumeration enum = this.getAllAppenders();
-
-    if (enum != null) {
-      while (enum.hasMoreElements()) {
-        Appender a = (Appender) enum.nextElement();
-
-        if (a instanceof AppenderAttachable) {
-          a.close();
-        }
+    for (Enumeration e = this.getAllAppenders();
+        (e != null) && (e.hasMoreElements()); ) {
+      Appender a = (Appender) e.nextElement();
+      if (a instanceof AppenderAttachable) {
+        a.close();
       }
     }
   }
Index: src/java/org/apache/log4j/NDC.java
===================================================================
RCS file: /home/cvspublic/jakarta-log4j/src/java/org/apache/log4j/NDC.java,v
retrieving revision 1.16
diff -u -r1.16 NDC.java
--- src/java/org/apache/log4j/NDC.java  23 Aug 2003 16:00:52 -0000      1.16
+++ src/java/org/apache/log4j/NDC.java  17 Oct 2003 07:39:24 -0000
@@ -265,15 +265,13 @@
       int misses = 0;
       v = new Vector();
 
-      Enumeration enum = ht.keys();
-
       // We give up after 4 straigt missses. That is 4 consecutive
       // inspected threads in 'ht' that turn out to be alive.
       // The higher the proportion on dead threads in ht, the higher the
       // chances of removal.
-      while (enum.hasMoreElements() && (misses <= 4)) {
-        Thread t = (Thread) enum.nextElement();
-
+      for (Enumeration e = ht.keys();
+          e.hasMoreElements() && (misses <= 4); )  {           
+        Thread t = (Thread) e.nextElement();
         if (t.isAlive()) {
           misses++;
         } else {
Index: src/java/org/apache/log4j/PropertyConfigurator.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-log4j/src/java/org/apache/log4j/PropertyConfigurator.java,v
retrieving revision 1.60
diff -u -r1.60 PropertyConfigurator.java
--- src/java/org/apache/log4j/PropertyConfigurator.java 17 Sep 2003 16:03:02 -0000     
 1.60
+++ src/java/org/apache/log4j/PropertyConfigurator.java 17 Oct 2003 07:39:24 -0000
@@ -541,10 +541,9 @@
   */
   protected void parseCatsAndRenderers(
     Properties props, LoggerRepository hierarchy) {
-    Enumeration enum = props.propertyNames();
 
-    while (enum.hasMoreElements()) {
-      String key = (String) enum.nextElement();
+    for (Enumeration e = props.propertyNames(); e.hasMoreElements();) {
+      String key = (String) e.nextElement();
 
       if (key.startsWith(CATEGORY_PREFIX) || key.startsWith(LOGGER_PREFIX)) {
         String loggerName = null;
Index: src/java/org/apache/log4j/jmx/LoggerDynamicMBean.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-log4j/src/java/org/apache/log4j/jmx/LoggerDynamicMBean.java,v
retrieving revision 1.3
diff -u -r1.3 LoggerDynamicMBean.java
--- src/java/org/apache/log4j/jmx/LoggerDynamicMBean.java       18 Mar 2003 13:33:33 
-0000      1.3
+++ src/java/org/apache/log4j/jmx/LoggerDynamicMBean.java       17 Oct 2003 07:39:25 
-0000
@@ -228,9 +228,9 @@
   }
 
   void appenderMBeanRegistration() {
-    Enumeration enum = logger.getAllAppenders();
-    while(enum.hasMoreElements()) {
-      Appender appender = (Appender) enum.nextElement();
+    for (Enumeration e = logger.getAllAppenders();
+           e != null && e.hasMoreElements(); ) {
+      Appender appender = (Appender) e.nextElement();
       registerAppenderMBean(appender);
     }
   }
Index: src/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-log4j/src/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.java,v
retrieving revision 1.1
diff -u -r1.1 CategoryNodeEditor.java
--- src/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.java      
 26 Apr 2002 15:48:43 -0000      1.1
+++ src/java/org/apache/log4j/lf5/viewer/categoryexplorer/CategoryNodeEditor.java      
 17 Oct 2003 07:39:26 -0000
@@ -241,9 +241,10 @@
   protected int removeUnusedNodes() {
     int count = 0;
     CategoryNode root = _categoryModel.getRootCategoryNode();
-    Enumeration enum = root.depthFirstEnumeration();
-    while (enum.hasMoreElements()) {
-      CategoryNode node = (CategoryNode) enum.nextElement();
+    
+    for (Enumeration e = root.depthFirstEnumeration();
+        e.hasMoreElements(); ) {
+      CategoryNode node = (CategoryNode) e.nextElement();
       if (node.isLeaf() && node.getNumberOfContainedRecords() == 0
           && node.getParent() != null) {
         _categoryModel.removeNodeFromParent(node);
Index: src/java/org/apache/log4j/net/SocketReceiver.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-log4j/src/java/org/apache/log4j/net/SocketReceiver.java,v
retrieving revision 1.5
diff -u -r1.5 SocketReceiver.java
--- src/java/org/apache/log4j/net/SocketReceiver.java   24 Jun 2003 08:21:52 -0000     
 1.5
+++ src/java/org/apache/log4j/net/SocketReceiver.java   17 Oct 2003 07:39:26 -0000
@@ -305,8 +305,8 @@
   public Vector getConnectedSocketDetails() {
     Vector details = new Vector(socketList.size());
 
-    for (Enumeration enum = socketList.elements(); enum.hasMoreElements();) {
-      Socket socket = (Socket) enum.nextElement();
+    for (Enumeration e = socketList.elements(); e.hasMoreElements();) {
+      Socket socket = (Socket) e.nextElement();
       details.add(
         new SocketDetail(socket, (SocketNode) socketMap.get(socket)));
     }
Index: src/java/org/apache/log4j/test/Finalize.java
===================================================================
RCS file: /home/cvspublic/jakarta-log4j/src/java/org/apache/log4j/test/Finalize.java,v
retrieving revision 1.4
diff -u -r1.4 Finalize.java
--- src/java/org/apache/log4j/test/Finalize.java        5 May 2003 20:42:58 -0000      
 1.4
+++ src/java/org/apache/log4j/test/Finalize.java        17 Oct 2003 07:39:27 -0000
@@ -69,9 +69,9 @@
 
   static
   void foo(Category cat) {
-    Enumeration enum = cat.getAllAppenders();
-    while(enum != null && enum.hasMoreElements()) {
-      ((org.apache.log4j.Appender) enum.nextElement()).close();
+    for (Enumeration e = cat.getAllAppenders();
+        e != null && e.hasMoreElements();) {
+      ((org.apache.log4j.Appender) e.nextElement()).close();
     }
   }
 
Index: src/java/org/apache/log4j/xml/DOMConfigurator.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-log4j/src/java/org/apache/log4j/xml/DOMConfigurator.java,v
retrieving revision 1.59
diff -u -r1.59 DOMConfigurator.java
--- src/java/org/apache/log4j/xml/DOMConfigurator.java  17 Sep 2003 17:02:52 -0000     
 1.59
+++ src/java/org/apache/log4j/xml/DOMConfigurator.java  17 Oct 2003 07:39:28 -0000
@@ -61,13 +61,13 @@
 
 import org.xml.sax.InputSource;
 
-import java.io.FileInputStream;
-import java.io.IOException;
+import java.io.File;
 import java.io.InputStream;
 import java.io.Reader;
 
 import java.lang.reflect.Method;
 
+import java.net.MalformedURLException;
 import java.net.URL;
 
 import java.util.*;
@@ -102,6 +102,7 @@
    @author Christopher Taylor
    @author Ceki G&uuml;lc&uuml;
    @author Anders Kristensen
+   @author Timothy Emiola
 
    @since 0.8.3 */
 public class DOMConfigurator implements Configurator {
@@ -138,6 +139,7 @@
   static final String EMPTY_STR = "";
   static final Class[] ONE_STRING_PARAM = new Class[] { String.class };
   static final String dbfKey = "javax.xml.parsers.DocumentBuilderFactory";
+ 
 
   // key: appenderName, value: appender
   Hashtable appenderBag;
@@ -714,30 +716,15 @@
   }
 
   public void doConfigure(String filename, LoggerRepository repository) {
-    FileInputStream fis = null;
-
-    try {
-      fis = new FileInputStream(filename);
-      doConfigure(fis, repository);
-    } catch (IOException e) {
-      LogLog.error("Could not open [" + filename + "].", e);
-    } finally {
-      if (fis != null) {
-        try {
-          fis.close();
-        } catch (java.io.IOException e) {
-          LogLog.error("Could not close [" + filename + "].", e);
-        }
-      }
-    }
+       try {
+               doConfigure(new File(filename).toURL(), repository);            
+       } catch (MalformedURLException e) {
+               LogLog.error("Could not open [" + filename + "].", e);                 
 
+       }               
   }
 
   public void doConfigure(URL url, LoggerRepository repository) {
-    try {
-      doConfigure(url.openStream(), repository);
-    } catch (IOException e) {
-      LogLog.error("Could not open [" + url + "].", e);
-    }
+      doConfigure(new InputSource(url.getPath()), repository);
   }
 
   /**
@@ -791,15 +778,18 @@
       DocumentBuilder docBuilder = dbf.newDocumentBuilder();
       docBuilder.setErrorHandler(new SAXErrorHandler());
       docBuilder.setEntityResolver(new Log4jEntityResolver());
-
-      // we change the system ID to a valid URI so that Crimson won't
-      // complain. Indeed, "log4j.dtd" alone is not a valid URI which
-      // causes Crimson to barf. The Log4jEntityResolver only cares
-      // about the "log4j.dtd" ending.
-      inputSource.setSystemId("dummy://log4j.dtd");
-
+      
+      // Use the Log4J XML DTD SystemId if none is provided
+      if (null == inputSource.getSystemId())
+      {
+       LogLog.warn(
+            "No systemId found for the XML source, using " 
+            + Log4jEntityResolver.DTD_URL);
+       inputSource.setSystemId(Log4jEntityResolver.DTD_URL.toString());
+      }
       Document doc = docBuilder.parse(inputSource);
       parse(doc.getDocumentElement());
+      
     } catch (Exception e) {
       // I know this is miserable...
       LogLog.error("Could not parse input source [" + inputSource + "].", e);
Index: src/java/org/apache/log4j/xml/Log4jEntityResolver.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-log4j/src/java/org/apache/log4j/xml/Log4jEntityResolver.java,v
retrieving revision 1.3
diff -u -r1.3 Log4jEntityResolver.java
--- src/java/org/apache/log4j/xml/Log4jEntityResolver.java      5 May 2003 20:42:58 
-0000       1.3
+++ src/java/org/apache/log4j/xml/Log4jEntityResolver.java      17 Oct 2003 07:39:28 
-0000
@@ -7,7 +7,8 @@
 
 package org.apache.log4j.xml;
 
-import java.io.InputStream;
+import java.net.URL;
+
 import org.xml.sax.EntityResolver;
 import org.xml.sax.InputSource;
 
@@ -19,24 +20,28 @@
  * file. 
  *
  * @author Paul Austin
- * */
+ * @author Timothy Emiola
+ */
 public class Log4jEntityResolver implements EntityResolver {
 
   public InputSource resolveEntity (String publicId, String systemId) {
-    System.err.println("piblicID: ["+publicId+"]");
-    System.err.println("systemId: ["+systemId+"]");
-    if (systemId.endsWith("log4j.dtd")) {
-      Class clazz = getClass();
-      InputStream in = clazz.getResourceAsStream("/org/apache/log4j/xml/log4j.dtd");
-      if (in == null) {
-       LogLog.error("Could not find [log4j.dtd]. Used [" + clazz.getClassLoader() 
-                    + "] class loader in the search.");
-       return null;
+    LogLog.debug("publicID: [" + publicId + "]");
+       LogLog.debug("systemId: [" + systemId + "]");
+       LogLog.debug("DTD URL " + DTD_URL);
+    if (systemId.endsWith(DTD_NAME)) {
+      if (null == DTD_URL) {
+           LogLog.error("Could not find [" + DTD_NAME + "]. Used [" + 
this.getClass().getClassLoader() 
+                      + "] class loader in the search.");
+           return null;
       } else {
-       return new InputSource(in);
+           return new InputSource(DTD_URL.toString());
       }
     } else {
       return null;
     }
   }
+  
+  static final String DTD_NAME = "log4j.dtd";
+  static final URL DTD_URL = Log4jEntityResolver.class.getResource(DTD_NAME);
+    
 }
Index: tests/input/xml/ExternalEntityTestCase.xml
===================================================================
RCS file: tests/input/xml/ExternalEntityTestCase.xml
diff -N tests/input/xml/ExternalEntityTestCase.xml
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/input/xml/ExternalEntityTestCase.xml  17 Oct 2003 07:39:29 -0000
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" [
+<!ENTITY fragment1 SYSTEM "ExternalEntityTestCaseFragment1.xml">
+<!ENTITY fragment2 SYSTEM "ExternalEntityTestCaseFragment2.xml">
+]>
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/";>
+
+  &fragment1;
+  &fragment2;
+
+  <logger name="org.apache.log4j.xml">
+    <level value="debug" />
+    <appender-ref ref="A1" />
+  </logger>
+  
+  <root>
+    <priority value ="debug" />
+    <appender-ref ref="A1" />
+    <appender-ref ref="A2" />
+  </root>
+  
+</log4j:configuration>
Index: tests/input/xml/ExternalEntityTestCaseFragment1.xml
===================================================================
RCS file: tests/input/xml/ExternalEntityTestCaseFragment1.xml
diff -N tests/input/xml/ExternalEntityTestCaseFragment1.xml
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/input/xml/ExternalEntityTestCaseFragment1.xml 17 Oct 2003 07:39:29 -0000
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+  <appender name="A1" class="org.apache.log4j.FileAppender">
+    
+    <param name="File"   value="output/temp.A1" />
+    <param name="Append" value="false" />          
+    
+    <layout class="org.apache.log4j.PatternLayout">
+      <param name="ConversionPattern" value="%-5p %c{2} - %m%n"/>
+    </layout>      
+  </appender>
+  
Index: tests/input/xml/ExternalEntityTestCaseFragment2.xml
===================================================================
RCS file: tests/input/xml/ExternalEntityTestCaseFragment2.xml
diff -N tests/input/xml/ExternalEntityTestCaseFragment2.xml
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/input/xml/ExternalEntityTestCaseFragment2.xml 17 Oct 2003 07:39:29 -0000
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+  <appender name="A2" class="org.apache.log4j.FileAppender">
+    <param name="File" value="output/temp.A2" />
+    <param name="Append" value="false" />
+    <layout class="org.apache.log4j.TTCCLayout">
+      <param name="DateFormat" value="ISO8601" />
+    </layout>          
+  </appender>
+  
Index: tests/src/java/org/apache/log4j/xml/DOMTestCase.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-log4j/tests/src/java/org/apache/log4j/xml/DOMTestCase.java,v
retrieving revision 1.8
diff -u -r1.8 DOMTestCase.java
--- tests/src/java/org/apache/log4j/xml/DOMTestCase.java        17 Sep 2003 17:02:52 
-0000      1.8
+++ tests/src/java/org/apache/log4j/xml/DOMTestCase.java        17 Oct 2003 07:39:29 
-0000
@@ -50,8 +50,9 @@
     logger = Logger.getLogger(DOMTestCase.class);
   }
  
-  public void tearDown() {  
+  public void tearDown() {
     root.getLoggerRepository().resetConfiguration();
+       root.getLoggerRepository().shutdown();    
   }
 
   public void test1() throws Exception {
@@ -74,6 +75,28 @@
     assertTrue(Compare.compare(FILTERED_A1, "witness/dom.A1.1"));
     assertTrue(Compare.compare(FILTERED_A2, "witness/dom.A2.1"));
   }
+  
+  public void testExternalEntitys() throws Exception {
+       DOMConfigurator.configure("input/xml/ExternalEntityTestCase.xml");
+       common();
+
+       ControlFilter cf1 = new ControlFilter(new String[]{TEST1_1A_PAT, TEST1_1B_PAT, 
+                                                  EXCEPTION1, EXCEPTION2, 
EXCEPTION3});
+
+       ControlFilter cf2 = new ControlFilter(new String[]{TEST1_2_PAT, 
+                                                  EXCEPTION1, EXCEPTION2, 
EXCEPTION3});
+
+       Transformer.transform(TEMP_A1, FILTERED_A1, new Filter[] {cf1, 
+                                                       new LineNumberFilter(), new 
SunReflectFilter(), new JunitTestRunnerFilter()});
+
+       Transformer.transform(TEMP_A2, FILTERED_A2, new Filter[] {cf2,
+                                                                         new 
LineNumberFilter(), new ISO8601Filter(),
+                                                                         new 
SunReflectFilter(), new JunitTestRunnerFilter()});
+
+       assertTrue(Compare.compare(FILTERED_A1, "witness/ent.A1.1"));
+       assertTrue(Compare.compare(FILTERED_A2, "witness/ent.A2.1"));
+  }
+  
 
   void common() {
     int i = -1;
@@ -105,6 +128,7 @@
   public static Test suite() {
     TestSuite suite = new TestSuite();
     suite.addTest(new DOMTestCase("test1"));
+       suite.addTest(new DOMTestCase("testExternalEntitys"));
     return suite;
   }
 
Index: tests/witness/ent.A1.1
===================================================================
RCS file: tests/witness/ent.A1.1
diff -N tests/witness/ent.A1.1
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/witness/ent.A1.1      17 Oct 2003 07:39:29 -0000
@@ -0,0 +1,93 @@
+DEBUG xml.DOMTestCase - Message 0
+DEBUG xml.DOMTestCase - Message 0
+DEBUG root - Message 0
+INFO  xml.DOMTestCase - Message 1
+INFO  xml.DOMTestCase - Message 1
+INFO  root - Message 1
+WARN  xml.DOMTestCase - Message 2
+WARN  xml.DOMTestCase - Message 2
+WARN  root - Message 2
+ERROR xml.DOMTestCase - Message 3
+ERROR xml.DOMTestCase - Message 3
+ERROR root - Message 3
+FATAL xml.DOMTestCase - Message 4
+FATAL xml.DOMTestCase - Message 4
+FATAL root - Message 4
+DEBUG xml.DOMTestCase - Message 5
+java.lang.Exception: Just testing
+       at org.apache.log4j.xml.DOMTestCase.common(X)
+       at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+       at java.lang.reflect.Method.invoke(X)
+       at junit.framework.TestCase.runTest(X)
+       at junit.framework.TestCase.runBare(X)
+       at junit.framework.TestResult$1.protect(X)
+       at junit.framework.TestResult.runProtected(X)
+       at junit.framework.TestResult.run(X)
+       at junit.framework.TestCase.run(X)
+       at junit.framework.TestSuite.runTest(X)
+       at junit.framework.TestSuite.run(X)
+DEBUG xml.DOMTestCase - Message 5
+java.lang.Exception: Just testing
+       at org.apache.log4j.xml.DOMTestCase.common(X)
+       at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+       at java.lang.reflect.Method.invoke(X)
+       at junit.framework.TestCase.runTest(X)
+       at junit.framework.TestCase.runBare(X)
+       at junit.framework.TestResult$1.protect(X)
+       at junit.framework.TestResult.runProtected(X)
+       at junit.framework.TestResult.run(X)
+       at junit.framework.TestCase.run(X)
+       at junit.framework.TestSuite.runTest(X)
+       at junit.framework.TestSuite.run(X)
+DEBUG root - Message 5
+java.lang.Exception: Just testing
+       at org.apache.log4j.xml.DOMTestCase.common(X)
+       at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+       at java.lang.reflect.Method.invoke(X)
+       at junit.framework.TestCase.runTest(X)
+       at junit.framework.TestCase.runBare(X)
+       at junit.framework.TestResult$1.protect(X)
+       at junit.framework.TestResult.runProtected(X)
+       at junit.framework.TestResult.run(X)
+       at junit.framework.TestCase.run(X)
+       at junit.framework.TestSuite.runTest(X)
+       at junit.framework.TestSuite.run(X)
+ERROR xml.DOMTestCase - Message 6
+java.lang.Exception: Just testing
+       at org.apache.log4j.xml.DOMTestCase.common(X)
+       at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+       at java.lang.reflect.Method.invoke(X)
+       at junit.framework.TestCase.runTest(X)
+       at junit.framework.TestCase.runBare(X)
+       at junit.framework.TestResult$1.protect(X)
+       at junit.framework.TestResult.runProtected(X)
+       at junit.framework.TestResult.run(X)
+       at junit.framework.TestCase.run(X)
+       at junit.framework.TestSuite.runTest(X)
+       at junit.framework.TestSuite.run(X)
+ERROR xml.DOMTestCase - Message 6
+java.lang.Exception: Just testing
+       at org.apache.log4j.xml.DOMTestCase.common(X)
+       at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+       at java.lang.reflect.Method.invoke(X)
+       at junit.framework.TestCase.runTest(X)
+       at junit.framework.TestCase.runBare(X)
+       at junit.framework.TestResult$1.protect(X)
+       at junit.framework.TestResult.runProtected(X)
+       at junit.framework.TestResult.run(X)
+       at junit.framework.TestCase.run(X)
+       at junit.framework.TestSuite.runTest(X)
+       at junit.framework.TestSuite.run(X)
+ERROR root - Message 6
+java.lang.Exception: Just testing
+       at org.apache.log4j.xml.DOMTestCase.common(X)
+       at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+       at java.lang.reflect.Method.invoke(X)
+       at junit.framework.TestCase.runTest(X)
+       at junit.framework.TestCase.runBare(X)
+       at junit.framework.TestResult$1.protect(X)
+       at junit.framework.TestResult.runProtected(X)
+       at junit.framework.TestResult.run(X)
+       at junit.framework.TestCase.run(X)
+       at junit.framework.TestSuite.runTest(X)
+       at junit.framework.TestSuite.run(X)
Index: tests/witness/ent.A2.1
===================================================================
RCS file: tests/witness/ent.A2.1
diff -N tests/witness/ent.A2.1
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ tests/witness/ent.A2.1      17 Oct 2003 07:39:30 -0000
@@ -0,0 +1,62 @@
+ [main] DEBUG org.apache.log4j.xml.DOMTestCase - Message 0
+ [main] DEBUG root - Message 0
+ [main] INFO org.apache.log4j.xml.DOMTestCase - Message 1
+ [main] INFO root - Message 1
+ [main] WARN org.apache.log4j.xml.DOMTestCase - Message 2
+ [main] WARN root - Message 2
+ [main] ERROR org.apache.log4j.xml.DOMTestCase - Message 3
+ [main] ERROR root - Message 3
+ [main] FATAL org.apache.log4j.xml.DOMTestCase - Message 4
+ [main] FATAL root - Message 4
+ [main] DEBUG org.apache.log4j.xml.DOMTestCase - Message 5
+java.lang.Exception: Just testing
+       at org.apache.log4j.xml.DOMTestCase.common(X)
+       at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+       at java.lang.reflect.Method.invoke(X)
+       at junit.framework.TestCase.runTest(X)
+       at junit.framework.TestCase.runBare(X)
+       at junit.framework.TestResult$1.protect(X)
+       at junit.framework.TestResult.runProtected(X)
+       at junit.framework.TestResult.run(X)
+       at junit.framework.TestCase.run(X)
+       at junit.framework.TestSuite.runTest(X)
+       at junit.framework.TestSuite.run(X)
+ [main] DEBUG root - Message 5
+java.lang.Exception: Just testing
+       at org.apache.log4j.xml.DOMTestCase.common(X)
+       at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+       at java.lang.reflect.Method.invoke(X)
+       at junit.framework.TestCase.runTest(X)
+       at junit.framework.TestCase.runBare(X)
+       at junit.framework.TestResult$1.protect(X)
+       at junit.framework.TestResult.runProtected(X)
+       at junit.framework.TestResult.run(X)
+       at junit.framework.TestCase.run(X)
+       at junit.framework.TestSuite.runTest(X)
+       at junit.framework.TestSuite.run(X)
+ [main] ERROR org.apache.log4j.xml.DOMTestCase - Message 6
+java.lang.Exception: Just testing
+       at org.apache.log4j.xml.DOMTestCase.common(X)
+       at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+       at java.lang.reflect.Method.invoke(X)
+       at junit.framework.TestCase.runTest(X)
+       at junit.framework.TestCase.runBare(X)
+       at junit.framework.TestResult$1.protect(X)
+       at junit.framework.TestResult.runProtected(X)
+       at junit.framework.TestResult.run(X)
+       at junit.framework.TestCase.run(X)
+       at junit.framework.TestSuite.runTest(X)
+       at junit.framework.TestSuite.run(X)
+ [main] ERROR root - Message 6
+java.lang.Exception: Just testing
+       at org.apache.log4j.xml.DOMTestCase.common(X)
+       at org.apache.log4j.xml.DOMTestCase.testExternalEntitys(X)
+       at java.lang.reflect.Method.invoke(X)
+       at junit.framework.TestCase.runTest(X)
+       at junit.framework.TestCase.runBare(X)
+       at junit.framework.TestResult$1.protect(X)
+       at junit.framework.TestResult.runProtected(X)
+       at junit.framework.TestResult.run(X)
+       at junit.framework.TestCase.run(X)
+       at junit.framework.TestSuite.runTest(X)
+       at junit.framework.TestSuite.run(X)

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

Reply via email to