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ülcü
@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]