ceki 2003/03/03 07:24:03
Modified: . build.properties.sample
docs HISTORY TODO manual.html
docs/images coverSmall.png
src/java/org/apache/log4j LogManager.java
src/java/org/apache/log4j/helpers Transform.java
src/java/org/apache/log4j/xml DOMConfigurator.java
tests build.xml
tests/src/java/org/apache/log4j/xml XMLLayoutTestCase.java
Added: tests/witness xmlLayout.null
Log:
Syncing 1.3 branch (main) with 1.2
Revision Changes Path
1.7 +7 -4 jakarta-log4j/build.properties.sample
Index: build.properties.sample
===================================================================
RCS file: /home/cvs/jakarta-log4j/build.properties.sample,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- build.properties.sample 19 Feb 2003 05:51:47 -0000 1.6
+++ build.properties.sample 3 Mar 2003 15:24:02 -0000 1.7
@@ -1,7 +1,10 @@
-# JAXP OPTIONAL; required to build the DOMConfigurator
-jaxp.home=/java/jaxp-1.1
-jaxp.jaxp.jar=${jaxp.home}/jaxp.jar
-jaxp.parser.jar=${jaxp.home}/crimson.jar
+# The jaxp interface and a jaxp parser are required to build the
+# DOMConfigurator. However, these are already available since Ant
+# needs them too.
+
+# jaxp.home=/java/jaxp-1.1
+# jaxp.jaxp.jar=${jaxp.home}/jaxp.jar
+# jaxp.parser.jar=${jaxp.home}/crimson.jar
# JavaMail API OPTIONAL; required to build the SMTPAppender
javamail.jar=/java/javamail-1.2/mail.jar
1.99 +14 -0 jakarta-log4j/docs/HISTORY
Index: HISTORY
===================================================================
RCS file: /home/cvs/jakarta-log4j/docs/HISTORY,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -r1.98 -r1.99
--- HISTORY 9 Oct 2002 22:50:01 -0000 1.98
+++ HISTORY 3 Mar 2003 15:24:02 -0000 1.99
@@ -5,6 +5,20 @@
client code.
[***] Changes requiring important modifications to existing client code.
+ February 18th, 2003
+
+ - Release of version 1.2.8
+
+ - Fixed bug #11570 whereby XMLAppender would throw a
+ NullPointerException if the input message was null. Many thanks to
+ David Vandegrift for reporting the bug and to Hendrik Brummermann for
+ supplying the patch. [*]
+
+ - Fixed bug #12366 whereby various versions of Xerces would not parse
+ log4j configuration scripts expressed in XML format. [*]
+
+ - Fixed bug #15599. SocketAppender now honors ReconnectionDelay of 0.
+ Many thanks to Scott Schram for reporting the bug and providing the fix. [*]
October 9th, 2002
1.3 +4 -7 jakarta-log4j/docs/TODO
Index: TODO
===================================================================
RCS file: /home/cvs/jakarta-log4j/docs/TODO,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- TODO 18 Nov 2001 22:10:35 -0000 1.2
+++ TODO 3 Mar 2003 15:24:02 -0000 1.3
@@ -5,16 +5,9 @@
- Add a properties file option to log4j:configure in XML.
-- Really quiet mode for LogLog.
-
-- Deprecate configure element in DTD.
-- Support for duplicate appender suppression in configurators.
-- Clean up the association of renderers and hierarchies
-- FailOverAppender
- Graceful congiguration merging
-
- Integrate tons of GUI code.
- JDBCAppender.
- Time based rolling.
@@ -30,6 +23,10 @@
DONE
+- Really quiet mode for LogLog.
+- Deprecate configure element in DTD.
+- Clean up the association of renderers and hierarchies
+- FailOverAppender
- Add priority#priorityClass to Configurators
- log4j: namespace in DTD
- Mapped Diagnostic Contexts
1.38 +6 -8 jakarta-log4j/docs/manual.html
Index: manual.html
===================================================================
RCS file: /home/cvs/jakarta-log4j/docs/manual.html,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- manual.html 3 Jan 2003 09:10:36 -0000 1.37
+++ manual.html 3 Mar 2003 15:24:02 -0000 1.38
@@ -22,14 +22,12 @@
distribution. This document is based on the article <a
href="http://www.javaworld.com/jw-11-2000/jw-1122-log4j.html">"Log4j
delivers control over logging"</a> published in November 2000
- edition of <a
- href="http://www.javaworld.com">JavaWorld</a>. However, the
- present article contains more detailed and up to date
- information. The present short manual also borrows some text
- from <a
-
href="http://www.flashline.com/components/view.jsp?prodid=4702&affiliateid=657173">
- "<em>The complete log4j manual</em>"</a> by the same author
- (yours truly).
+ edition of JavaWorld. However, the present article contains more
+ detailed and up to date information. The present short manual
+ also borrows some text from <a
+ href="https://www.qos.ch/shop/products/clm_t.jsp">"<em>The
+ complete log4j manual</em>"</a> by the same author (yours
+ truly).
<h2>Abstract</h2>
1.2 +229 -754 jakarta-log4j/docs/images/coverSmall.png
<<Binary file>>
1.11 +1 -1 jakarta-log4j/src/java/org/apache/log4j/LogManager.java
Index: LogManager.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/LogManager.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- LogManager.java 22 Nov 2002 10:27:23 -0000 1.10
+++ LogManager.java 3 Mar 2003 15:24:03 -0000 1.11
@@ -118,7 +118,7 @@
OptionConverter.selectAndConfigure(url, configuratorClassName,
LogManager.getLoggerRepository());
} else {
- LogLog.debug("Could not find resource: ["+configurationOptionStr+"].");
+ LogLog.debug("Could not find resources to perform automatic configuration.");
}
}
}
1.3 +5 -1 jakarta-log4j/src/java/org/apache/log4j/helpers/Transform.java
Index: Transform.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/helpers/Transform.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Transform.java 9 Oct 2002 22:50:03 -0000 1.2
+++ Transform.java 3 Mar 2003 15:24:03 -0000 1.3
@@ -71,8 +71,12 @@
* @param str The String that is inserted into an existing CDATA Section within
buf.
* */
static public void appendEscapingCDATA(StringBuffer buf, String str) {
+ if(str == null) {
+ buf.append("");
+ return;
+ }
+
int end = str.indexOf(CDATA_END);
-
if (end < 0) {
buf.append(str);
return;
1.54 +10 -18 jakarta-log4j/src/java/org/apache/log4j/xml/DOMConfigurator.java
Index: DOMConfigurator.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/xml/DOMConfigurator.java,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- DOMConfigurator.java 11 Dec 2002 07:26:47 -0000 1.53
+++ DOMConfigurator.java 3 Mar 2003 15:24:03 -0000 1.54
@@ -669,11 +669,11 @@
DocumentBuilderFactory dbf = null;
this.repository = repository;
try {
- LogLog.debug("System property is :"+
+ LogLog.debug("System property ["+dbfKey+"] is: "+
OptionConverter.getSystemProperty(dbfKey,
null));
dbf = DocumentBuilderFactory.newInstance();
- LogLog.debug("Standard DocumentBuilderFactory search succeded.");
+ LogLog.debug("Search for the standard DocumentBuilderFactory succeded.");
LogLog.debug("DocumentBuilderFactory is: "+dbf.getClass().getName());
} catch(FactoryConfigurationError fce) {
Exception e = fce.getException();
@@ -682,25 +682,17 @@
}
try {
- // This makes ID/IDREF attributes to have a meaning. Don't ask
- // me why.
dbf.setValidating(true);
- //dbf.setNamespaceAware(true);
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
- docBuilder.setErrorHandler(new SAXErrorHandler());
-
- Class clazz = this.getClass();
- URL dtdURL = clazz.getResource("/org/apache/log4j/xml/log4j.dtd");
- if(dtdURL == null) {
- LogLog.error("Could not find [log4j.dtd]. Used ["+clazz.getClassLoader()+
- "] class loader in the search.");
- }
- else {
- LogLog.debug("URL to log4j.dtd is [" + dtdURL.toString()+"].");
- inputSource.setSystemId(dtdURL.toString());
- }
- Document doc = docBuilder.parse(inputSource);
+ 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");
+ Document doc = docBuilder.parse(inputSource);
parse(doc.getDocumentElement());
} catch (Exception e) {
// I know this is miserable...
1.26 +8 -0 jakarta-log4j/tests/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-log4j/tests/build.xml,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- build.xml 4 Feb 2003 06:55:39 -0000 1.25
+++ build.xml 3 Mar 2003 15:24:03 -0000 1.26
@@ -338,6 +338,14 @@
</junit>
</target>
+ <target name="MazeAppender" depends="build, cleanOutputDir">
+ <junit printsummary="yes" fork="yes" haltonfailure="yes">
+ <classpath refid="tests.classpath"/>
+ <formatter type="plain" usefile="false" />
+ <test name="org.apache.log4j.MazeAppenderTestCase" />
+ </junit>
+ </target>
+
<target name="OR" depends="build, cleanOutputDir">
<junit printsummary="yes" fork="yes" haltonfailure="yes">
1.5 +13 -0
jakarta-log4j/tests/src/java/org/apache/log4j/xml/XMLLayoutTestCase.java
Index: XMLLayoutTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j/tests/src/java/org/apache/log4j/xml/XMLLayoutTestCase.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- XMLLayoutTestCase.java 13 Nov 2002 16:44:58 -0000 1.4
+++ XMLLayoutTestCase.java 3 Mar 2003 15:24:03 -0000 1.5
@@ -75,6 +75,18 @@
assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.3"));
}
+ public void testNull() throws Exception {
+ XMLLayout xmlLayout = new XMLLayout();
+ root.addAppender(new FileAppender(xmlLayout, TEMP, false));
+ logger.debug("hi");
+ logger.debug(null);
+ Exception e = new Exception((String) null);
+ logger.debug("hi", e);
+ Transformer.transform(TEMP, FILTERED, new Filter[] {new LineNumberFilter(),
+ new XMLTimestampFilter()});
+ assertTrue(Compare.compare(FILTERED, "witness/xmlLayout.null"));
+ }
+
void common() {
int i = -1;
@@ -108,6 +120,7 @@
suite.addTest(new XMLLayoutTestCase("basic"));
suite.addTest(new XMLLayoutTestCase("locationInfo"));
suite.addTest(new XMLLayoutTestCase("testCDATA"));
+ suite.addTest(new XMLLayoutTestCase("testNull"));
return suite;
}
1.2 +29 -0 jakarta-log4j/tests/witness/xmlLayout.null
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]