You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2021/12/23 16:26:28 UTC

[logging-log4j1] 01/01: [maven-release-plugin] copy for tag v1_2_15_rc2

This is an automated email from the ASF dual-hosted git repository.

rgoers pushed a commit to annotated tag v1_2_15_rc2
in repository https://gitbox.apache.org/repos/asf/logging-log4j1.git

commit c9f856a4f7716e4aff094eb3ab5454a125509371
Author: Curtis William Arnold <ca...@apache.org>
AuthorDate: Wed May 16 22:09:33 2007 +0000

    [maven-release-plugin]  copy for tag v1_2_15_rc2
    
    git-svn-id: https://svn.apache.org/repos/asf/logging/log4j/tags/v1_2_15_rc2@538757 13f79535-47bb-0310-9956-ffa450edef68
---
 BUILD-INFO.txt                                     |   2 -
 build.xml                                          |  53 +++---
 pom.xml                                            | 176 +++++++++++--------
 .../org/apache/log4j/xml/examples/XMLSample.java   |  75 ++++++++
 .../org/apache/log4j/xml/examples/sample1.xml      |  22 +++
 .../org/apache/log4j/xml/examples/sample2.xml      |  31 ++++
 .../org/apache/log4j/xml/examples/sample3.xml      |  28 +++
 .../org/apache/log4j/xml/examples/sample4.xml      |  23 +++
 .../org/apache/log4j/xml/examples/sample5.xml      |  34 ++++
 src/main/javadoc/org/apache/log4j/xml/log4j.dtd    | 191 +++++++++++++++++++++
 10 files changed, 534 insertions(+), 101 deletions(-)

diff --git a/BUILD-INFO.txt b/BUILD-INFO.txt
index 7481f19..94e4518 100644
--- a/BUILD-INFO.txt
+++ b/BUILD-INFO.txt
@@ -22,7 +22,5 @@ JMS 1.1 must be downloaded from http://java.sun.com/products/jms/docs.html
    mvn install:install-file -DgroupId=javax.jms -DartifactId=jms \
        -Dversion=1.1 -Dpackaging=jar -Dfile=/path/to/jms.jar
 
-To build the release:
 
-mvn site assembly:assembly
 
diff --git a/build.xml b/build.xml
index dadb8ae..060ab73 100644
--- a/build.xml
+++ b/build.xml
@@ -29,7 +29,9 @@
   <!--   if a Maven build has been attempted,
               the Maven repository can provide all the dependencies.  -->
   <property name="m2_repo" location="${user.home}/.m2/repository"/>
-  <property name="javaee-api.jar" location="${m2_repo}/javaee/javaee-api/5/javaee-api-5.jar"/>
+  <property name="javamail.jar" location="${m2_repo}/javax/mail/mail/1.4/mail-1.4.jar"/>
+  <property name="jms.jar" location="${m2_repo}/javax/jms/jms/1.1/jms-1.1.jar"/>
+  <property name="jmx.jar" location="${m2_repo}/com/sun/jmx/jmxri/1.2.1/jmxri-1.2.1.jar"/>
   <property name="jmx-extra.jar" location="${m2_repo}/com/sun/jdmk/jmxtools/1.2.1/jmxtools-1.2.1.jar"/>
 
 
@@ -51,6 +53,9 @@
   <!-- The directory where resource files are stored. -->
   <property name="resource.source.dir" value="src/main/resources/"/>
 
+  <!-- The directory where javadoc files are stored. -->
+  <property name="javadoc.source.dir" value="src/main/javadoc/"/>
+
   <!-- The directory where the package-list file is found, ./ or -->
   <!-- build/ -->
   <property name="packaging.dir" value="build"/>
@@ -86,9 +91,6 @@
   <!-- Some targets needs a more precise stem. -->
   <property name="BSTEM" value="${java.source.dir}/${stem}"/>
 
-  <!-- Original manifest.mf file before filtering. -->
-  <property name="manifest.src" value="build/manifest.mf"/>
-
   <!-- Directory where release images go. -->
   <property name="dist.images"  value="${dist.dir}/images"/>
 
@@ -452,20 +454,12 @@
   <!-- dependencies.                                                     -->
   <!-- ================================================================= -->
   <target name="jar" depends="log4j.jar, log4j-sources.jar">
-     <delete file="${jar.dest}/manifest.mf"/>
-  </target>
-
-  <target name="prejar" depends="init">
-    <mkdir dir="${jar.dest}"/>
-    <filter token="version" value="${version}" />
-    <copy file="${manifest.src}" tofile="${jar.dest}/manifest.mf"
-          filtering="true"/>
   </target>
 
  <!-- ================================================================= -->
  <!-- Create log4j.jar, excluding tests and other odds and ends.        -->
  <!-- ================================================================= -->
-  <target name="log4j.jar" depends="build, prejar">
+  <target name="log4j.jar" depends="build">
     <delete>
       <fileset dir="${jar.dest}">
    			<include name="${jar.filename}"/>
@@ -492,8 +486,14 @@
                    ${stem}/or/sax/*.class,
                    ${stem}/or/jms/*.class,
                    ${stem}/config/*.class"
-         excludes="**/UnitTest**"
-         manifest="${jar.dest}/manifest.mf">
+         excludes="**/UnitTest**">
+		<manifest>
+			<section name="org/apache/log4j">
+				<attribute name="Implementation-Title" value="log4j"/>
+				<attribute name="Implementation-Version" value="${version}"/> 
+				<attribute name="Implementation-Vendor" value='"Apache Software Foundation"'/>
+			</section>
+		</manifest>         
          <metainf dir="." includes="NOTICE,LICENSE"/>
      </jar>
   </target>
@@ -502,15 +502,21 @@
  <!-- ================================================================= -->
  <!-- Create log4j-sources.jar                                          -->
  <!-- ================================================================= -->
-  <target name="log4j-sources.jar" depends="prejar">
+  <target name="log4j-sources.jar">
     <delete>
       <fileset dir="${jar.dest}" includes="${sources-jar.filename}"/>
     </delete>
 
     <jar jarfile="${jar.dest}/${sources-jar.filename}" basedir="${java.source.dir}"
-         includes="**/*.java"
-         manifest="${jar.dest}/manifest.mf">
-         <metainf dir="." includes="NOTICE,LICENSE"/>
+         includes="**/*.java">
+		<manifest>
+			<section name="org/apache/log4j">
+				<attribute name="Implementation-Title" value="log4j"/>
+				<attribute name="Implementation-Version" value="${version}"/> 
+				<attribute name="Implementation-Vendor" value='"Apache Software Foundation"'/>
+			</section>
+		</manifest>         
+		<metainf dir="." includes="NOTICE,LICENSE"/>
      </jar>
   </target>
 
@@ -571,13 +577,8 @@
     </javadoc>
 
     <!-- Extra files referenced by JavaDocs -->
-    <copy file="${resource.source.dir}/org/apache/log4j/xml/log4j.dtd"
-          tofile="${javadoc.dest}/org/apache/log4j/xml/log4j.dtd" />
-    <copy todir="${javadoc.dest}/org/apache/log4j/xml/examples">
-      <fileset dir="examples/xml/org/apache/log4j/xml/examples">
-        <include name="sample*.xml" />
-        <include name="XMLSample.java" />
-      </fileset>
+    <copy todir="${javadoc.dest}">
+      <fileset dir="${javadoc.source.dir}"/>
     </copy>
   </target>
 
diff --git a/pom.xml b/pom.xml
index d8a31ca..0bbe02c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,29 +1,10 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>log4j</groupId>
   <artifactId>log4j</artifactId>
   <packaging>jar</packaging>
   <name>Apache Log4j</name>
-  <version>1.2.15-SNAPSHOT</version>
+  <version>1.2.15</version>
   <properties>
     <currentVersion>1.2.15</currentVersion>
   </properties>  
@@ -70,9 +51,9 @@
     </license>
   </licenses>
   <scm>
-       <connection>scm:svn:http://svn.apache.org/repos/asf/logging/log4j/branches/v1_2-branch</connection>
-       <developerConnection>scm:svn:https://svn.apache.org/repos/asf/logging/log4j/branches/v1_2-branch</developerConnection>
-    <url>http://svn.apache.org/viewcvs.cgi/logging/log4j/branches/v1_2-branch</url>
+       <connection>scm:svn:http://svn.apache.org/repos/asf/logging/log4j/tags/v1_2_15_rc2</connection>
+       <developerConnection>scm:svn:https://svn.apache.org/repos/asf/logging/log4j/tags/v1_2_15_rc2</developerConnection>
+    <url>http://svn.apache.org/viewcvs.cgi/logging/log4j/tags/v1_2_15_rc2</url>
   </scm>
   <organization>
     <name>Apache Software Foundation</name>
@@ -145,9 +126,16 @@
         <artifactId>maven-jar-plugin</artifactId>
         <configuration>
           <archive>
-            <manifest>
-              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-            </manifest>
+                <manifestSections>
+                <manifestSection>
+                    <name>org.apache.log4j</name>
+                    <manifestEntries>
+                        <Implementation-Title>log4j</Implementation-Title>
+                        <Implementation-Version>${project.version}</Implementation-Version>
+                        <Implementation-Vendor>"Apache Software Foundation"</Implementation-Vendor>
+                    </manifestEntries>
+                </manifestSection>
+                </manifestSections>
           </archive>
         </configuration>
       </plugin>
@@ -161,10 +149,10 @@
             <configuration>
               <tasks>
 				  <ant antfile="src/ntdll/build.xml">
-					  <property name="target.dir" location="target"/>
-					  <property name="classes.dir" location="target/classes"/>
-					  <property name="src.dir" location="src/ntdll"/>
-                      <property name="jni.include.dir" location="${java.home}/../include"/>
+					  <property name="target.dir" location="target" />
+					  <property name="classes.dir" location="target/classes" />
+					  <property name="src.dir" location="src/ntdll" />
+                      <property name="jni.include.dir" location="${java.home}/../include" />
 				  </ant>
 			  </tasks>
             </configuration>
@@ -178,7 +166,7 @@
 			<id>mkdir_tests_output</id>
             <configuration>
               <tasks>
-				  <mkdir dir="tests/output"/>
+				  <mkdir dir="tests/output" />
 			  </tasks>
             </configuration>
             <goals>
@@ -190,48 +178,44 @@
 			<id>rmdir_tests_output</id>
             <configuration>
               <tasks>
-				  <delete dir="tests/output"/>
+				  <delete dir="tests/output" />
 			  </tasks>
             </configuration>
             <goals>
               <goal>run</goal>
             </goals>
           </execution>
-		  <!--   Copy log4j.dtd and xml samples to Javadoc    -->
           <execution>
-            <phase>site</phase>
-			<id>javadoc_xml</id>
+            <phase>test</phase>
+		<id>runAll</id>
             <configuration>
-              <tasks>
-				  <copy todir="target/site/apidocs/org/apache/log4j/xml">
-					  <fileset file="src/main/resources/org/apache/log4j/xml/log4j.dtd"/>
-					  <fileset dir="examples/xml/org/apache/log4j/xml"
-						includes="examples/sample*.xml, examples/XMLSample.java"/>
-				  </copy>
-			  </tasks>
+                <tasks>
+			  <ant dir="tests" target="runAll">
+				<property name="junit.jar" location="${user.home}/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar" />
+				<property name="jakarta.oro.jar" location="${user.home}/.m2/repository/oro/oro/2.0.8/oro-2.0.8.jar" />
+                        <property name="log4j.jar" location="target/classes" />
+				<property name="project.lib.home" location="target" />
+                    </ant> 
+                </tasks>
             </configuration>
             <goals>
               <goal>run</goal>
             </goals>
           </execution>
+          <!--   release builds will put SVN tags into the SCM page, this changes it back to a branch  -->
           <execution>
-            <phase>test</phase>
-		<id>runAll</id>
+            <phase>site</phase>
+            <id>untag-site</id>
             <configuration>
                 <tasks>
-			  <ant dir="tests" target="runAll">
-				<property name="junit.jar" location="${user.home}/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar"/>
-				<property name="jakarta.oro.jar" location="${user.home}/.m2/repository/oro/oro/2.0.8/oro-2.0.8.jar"/>
-                        <property name="log4j.jar" location="target/classes"/>
-				<property name="project.lib.home" location="target"/>
-                    </ant> 
+                    <taskdef name="replaceregexp" classname="org.apache.tools.ant.taskdefs.optional.ReplaceRegExp" />                
+                   <replaceregexp file="target/site/source-repository.html" match="/tags/[^ ]*" replace="/branches/v1_2-branch" flags="g" />
                 </tasks>
             </configuration>
             <goals>
               <goal>run</goal>
             </goals>
           </execution>
-
         </executions>
        <dependencies>
           <dependency>
@@ -250,14 +234,13 @@
              <version>3.8.1</version>
              <scope>test</scope>
           </dependency>
-          <!--  Comment out following dependency on Mac OS/X   -->
-          <dependency>
-             <groupId>com.sun</groupId>
-             <artifactId>tools</artifactId>
-             <version>1.4.2</version>
-             <scope>system</scope>
-             <systemPath>${java.home}/../lib/tools.jar</systemPath>
-          </dependency>        
+        <dependency>
+          <groupId>sun.jdk</groupId>
+          <artifactId>tools</artifactId>
+          <version>1.4.2</version>
+          <scope>system</scope>
+          <systemPath>${tools.jar}</systemPath>
+        </dependency>
         </dependencies>
       </plugin>	 
 	  <plugin>
@@ -267,7 +250,35 @@
               <descriptor>src/assembly/bin.xml</descriptor>
            </descriptors>
         </configuration>
+        <executions>
+            <execution>
+                <goals>
+                    <goal>assembly</goal>
+                </goals>
+            </execution>
+        </executions>
 	 </plugin>
+      <plugin>
+        <artifactId>maven-javadoc-plugin</artifactId>
+        <executions>
+            <execution>
+                <goals>
+                    <goal>jar</goal>
+                    <goal>javadoc</goal>
+                </goals>
+            </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <artifactId>maven-source-plugin</artifactId>
+        <executions>
+            <execution>
+                <goals>
+                    <goal>jar</goal>
+                </goals>
+            </execution>
+        </executions>
+      </plugin>     
     </plugins>      
     <testSourceDirectory>tests/src/java</testSourceDirectory>
 	<testResources>
@@ -276,6 +287,26 @@
 		</testResource>
 	</testResources>
 </build>
+<profiles>
+    <profile>
+      <id>mac</id>
+      <activation>
+        <os><family>mac</family></os>
+      </activation>
+      <properties>
+         <tools.jar>${java.home}/../Classes/classes.jar</tools.jar>
+      </properties>
+    </profile>
+    <profile>
+      <id>default</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <properties>
+         <tools.jar>${java.home}/../lib/tools.jar</tools.jar>
+      </properties>
+   </profile>
+  </profiles>
 <repositories>
 	<repository>
   		<id>java.net</id>
@@ -322,7 +353,6 @@
     <plugins>
       <plugin>
         <artifactId>maven-project-info-reports-plugin</artifactId>
-        <version>2.0.1</version>
         <reportSets>
           <reportSet>
             <reports>
@@ -337,17 +367,17 @@
         </reportSets>
       </plugin>
       <plugin>
-        <artifactId>maven-javadoc-plugin</artifactId>
-        <version>2.2</version>
-      </plugin>
-      <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>jxr-maven-plugin</artifactId>
-          <version>2.0-beta-1</version>
+      </plugin>
+      <plugin>
+          <artifactId>maven-release-plugin</artifactId>
+          <configuration>
+              <goals>site-deploy</goals>
+          </configuration>
       </plugin>
       <plugin>
         <artifactId>maven-changes-plugin</artifactId>
-        <version>2.0-beta-2</version>
       	<reportSets>
           <reportSet>
             <reports>
@@ -362,13 +392,13 @@
     </plugins>
   </reporting>
  <distributionManagement>
-    <repository>
-      <id>log4j12.builds</id>
-      <url>scp://people.apache.org/www/people.apache.org/builds/logging/log4j/${project.version}/</url>
-    </repository>
+    <repository>
+      <id>logging.repo</id>
+      <url>scp://people.apache.org/www/people.apache.org/builds/logging/repo/</url>
+    </repository>
     <site>
-      <id>log4j12.website</id>
+      <id>logging.site</id>
       <url>scp://people.apache.org/www/logging.apache.org/log4j/1.2/</url>
     </site>
   </distributionManagement> 
-</project>
+</project>
\ No newline at end of file
diff --git a/src/main/javadoc/org/apache/log4j/xml/examples/XMLSample.java b/src/main/javadoc/org/apache/log4j/xml/examples/XMLSample.java
new file mode 100644
index 0000000..8ea09f2
--- /dev/null
+++ b/src/main/javadoc/org/apache/log4j/xml/examples/XMLSample.java
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.xml.examples;
+
+import org.apache.log4j.xml.DOMConfigurator;
+import org.apache.log4j.Logger;
+
+/**
+
+   This <a href="XMLSample.java">example code</a> shows how to
+   read an XML based configuration file using a DOM parser.
+
+   <p>Sample XML files <a href="sample1.xml">sample1.xml</a>
+   and <a href="sample2.xml">sample2.xml</a> are provided.
+
+
+   <p>Note that the log4j.dtd is not in the local directory.
+   It is found by the class loader.
+
+   @author Ceki G&uuml;lc&uuml;
+
+*/
+public class XMLSample {
+
+  static Logger cat = Logger.getLogger(XMLSample.class);
+
+  public
+  static
+  void main(String argv[]) {
+
+    if(argv.length == 1)
+      init(argv[0]);
+    else
+      Usage("Wrong number of arguments.");
+    sample();
+  }
+
+  static
+  void Usage(String msg) {
+    System.err.println(msg);
+    System.err.println( "Usage: java " + XMLSample.class.getName() +
+			"configFile");
+    System.exit(1);
+  }
+
+  static
+  void init(String configFile) {
+    DOMConfigurator.configure(configFile);
+  }
+
+  static
+  void sample() {
+    int i = -1;
+    cat.debug("Message " + ++i);
+    cat.warn ("Message " + ++i);
+    cat.error("Message " + ++i);
+    Exception e = new Exception("Just testing");
+    cat.debug("Message " + ++i, e);
+  }
+}
diff --git a/src/main/javadoc/org/apache/log4j/xml/examples/sample1.xml b/src/main/javadoc/org/apache/log4j/xml/examples/sample1.xml
new file mode 100644
index 0000000..d13ca9e
--- /dev/null
+++ b/src/main/javadoc/org/apache/log4j/xml/examples/sample1.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
+
+	<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
+           <layout class="org.apache.log4j.PatternLayout">
+             <param name="ConversionPattern"
+		    value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+           </layout>	    
+	</appender>
+	
+	<category name="org.apache.log4j.xml">
+	  <priority value="info" />
+	</category>
+	
+	<root>
+	   <priority value ="debug" />
+   	   <appender-ref ref="STDOUT" />
+	</root>
+	
+</log4j:configuration>
diff --git a/src/main/javadoc/org/apache/log4j/xml/examples/sample2.xml b/src/main/javadoc/org/apache/log4j/xml/examples/sample2.xml
new file mode 100644
index 0000000..ad48640
--- /dev/null
+++ b/src/main/javadoc/org/apache/log4j/xml/examples/sample2.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+	<appender name="A1" class="org.apache.log4j.FileAppender">
+            <param name="File"   value="A1.log" />
+            <param name="Append" value="false" />	    	
+            <layout class="org.apache.log4j.PatternLayout">
+		<param name="ConversionPattern" value="%t %-5p %c{2} - %m%n"/>
+            </layout>	    
+	</appender>
+	
+	<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
+		<layout class="org.apache.log4j.PatternLayout">
+                   <param name="ConversionPattern"
+		          value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+		</layout>		
+	</appender>
+	
+	<category name="org.apache.log4j.xml">
+	  <priority value="debug" />
+  	  <appender-ref ref="A1" />
+	</category>
+	
+	<root>
+	   <priority value ="debug" />
+   	   <appender-ref ref="STDOUT" />
+	</root>
+	
+</log4j:configuration>
diff --git a/src/main/javadoc/org/apache/log4j/xml/examples/sample3.xml b/src/main/javadoc/org/apache/log4j/xml/examples/sample3.xml
new file mode 100644
index 0000000..ad85ab7
--- /dev/null
+++ b/src/main/javadoc/org/apache/log4j/xml/examples/sample3.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+	<appender name="A1" class="org.apache.log4j.net.SocketAppender">
+		<param name="RemoteHost" value="localhost"/>
+		<param name="Port" value="5000"/>
+		<param name="LocationInfo" value="true"/>
+		<layout class="org.apache.log4j.PatternLayout">
+  		   <param name="ConversionPattern" 
+                          value="%t %-5p %c{2} - %m%n"/>
+		</layout>
+	</appender>
+	<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
+		<layout class="org.apache.log4j.PatternLayout">
+  		     <param name="ConversionPattern" 
+                            value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+		</layout>
+	</appender>
+	<category name="org.apache.log4j.xml">
+		<priority value="debug"/>
+		<appender-ref ref="A1"/>
+	</category>
+	<root>
+		<priority value="debug"/>
+		<appender-ref ref="STDOUT"/>
+	</root>
+</log4j:configuration>
diff --git a/src/main/javadoc/org/apache/log4j/xml/examples/sample4.xml b/src/main/javadoc/org/apache/log4j/xml/examples/sample4.xml
new file mode 100644
index 0000000..b957ff1
--- /dev/null
+++ b/src/main/javadoc/org/apache/log4j/xml/examples/sample4.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
+                     configDebug="true">
+
+	<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
+	        <appender-ref ref="TEMP"/>
+	</appender>
+
+	<appender name="TEMP" class="org.apache.log4j.FileAppender">
+		<param name="File" value="temp"/>
+		<layout class="org.apache.log4j.PatternLayout">
+  		     <param name="ConversionPattern" 
+                            value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+		</layout>
+	</appender>
+
+	<root>
+		<priority value="debug"/>
+		<appender-ref ref="ASYNC"/>
+	</root>
+</log4j:configuration>
diff --git a/src/main/javadoc/org/apache/log4j/xml/examples/sample5.xml b/src/main/javadoc/org/apache/log4j/xml/examples/sample5.xml
new file mode 100644
index 0000000..cc16200
--- /dev/null
+++ b/src/main/javadoc/org/apache/log4j/xml/examples/sample5.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
+                     configDebug="true">
+
+	<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
+	        <appender-ref ref="TEMP"/>
+		<appender-ref ref="CONSOLE"/>
+	</appender>
+
+	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+		<layout class="org.apache.log4j.PatternLayout">
+  		     <param name="ConversionPattern" 
+                            value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+		</layout>
+	</appender>
+
+
+	<appender name="TEMP" class="org.apache.log4j.FileAppender">
+		<param name="File" value="temp"/>
+		<layout class="org.apache.log4j.PatternLayout">
+  		     <param name="ConversionPattern" 
+                            value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
+		</layout>
+	</appender>
+
+
+
+	<root>
+		<priority value="debug"/>
+		<appender-ref ref="ASYNC"/>
+	</root>
+</log4j:configuration>
diff --git a/src/main/javadoc/org/apache/log4j/xml/log4j.dtd b/src/main/javadoc/org/apache/log4j/xml/log4j.dtd
new file mode 100644
index 0000000..9527734
--- /dev/null
+++ b/src/main/javadoc/org/apache/log4j/xml/log4j.dtd
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!-- Authors: Chris Taylor, Ceki Gulcu. -->
+
+<!-- Version: 1.2 -->
+
+<!-- A configuration element consists of optional renderer
+elements,appender elements, categories and an optional root
+element. -->
+
+<!ELEMENT log4j:configuration (renderer*, appender*,plugin*, (category|logger)*,root?,
+                               (categoryFactory|loggerFactory)?)>
+
+<!-- The "threshold" attribute takes a level value such that all -->
+<!-- logging statements with a level equal or below this value are -->
+<!-- disabled. -->
+
+<!-- Setting the "debug" enable the printing of internal log4j logging   -->
+<!-- statements.                                                         -->
+
+<!-- By default, debug attribute is "null", meaning that we not do touch -->
+<!-- internal log4j logging settings. The "null" value for the threshold -->
+<!-- attribute can be misleading. The threshold field of a repository	 -->
+<!-- cannot be set to null. The "null" value for the threshold attribute -->
+<!-- simply means don't touch the threshold field, the threshold field   --> 
+<!-- keeps its old value.                                                -->
+     
+<!ATTLIST log4j:configuration
+  xmlns:log4j              CDATA #FIXED "http://jakarta.apache.org/log4j/" 
+  threshold                (all|trace|debug|info|warn|error|fatal|off|null) "null"
+  debug                    (true|false|null)  "null"
+>
+
+<!-- renderer elements allow the user to customize the conversion of  -->
+<!-- message objects to String.                                       -->
+
+<!ELEMENT renderer EMPTY>
+<!ATTLIST renderer
+  renderedClass  CDATA #REQUIRED
+  renderingClass CDATA #REQUIRED
+>
+
+<!-- Appenders must have a name and a class. -->
+<!-- Appenders may contain an error handler, a layout, optional parameters -->
+<!-- and filters. They may also reference (or include) other appenders. -->
+<!ELEMENT appender (errorHandler?, param*,
+      rollingPolicy?, triggeringPolicy?, layout?, filter*, appender-ref*)>
+<!ATTLIST appender
+  name 		CDATA 	#REQUIRED
+  class 	CDATA	#REQUIRED
+>
+
+<!ELEMENT layout (param*)>
+<!ATTLIST layout
+  class		CDATA	#REQUIRED
+>
+
+<!ELEMENT filter (param*)>
+<!ATTLIST filter
+  class		CDATA	#REQUIRED
+>
+
+<!-- ErrorHandlers can be of any class. They can admit any number of -->
+<!-- parameters. -->
+
+<!ELEMENT errorHandler (param*, root-ref?, logger-ref*,  appender-ref?)> 
+<!ATTLIST errorHandler
+   class        CDATA   #REQUIRED 
+>
+
+<!ELEMENT root-ref EMPTY>
+
+<!ELEMENT logger-ref EMPTY>
+<!ATTLIST logger-ref
+  ref CDATA #REQUIRED
+>
+
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+  name		CDATA   #REQUIRED
+  value		CDATA	#REQUIRED
+>
+
+
+<!-- The priority class is org.apache.log4j.Level by default -->
+<!ELEMENT priority (param*)>
+<!ATTLIST priority
+  class   CDATA	#IMPLIED
+  value	  CDATA #REQUIRED
+>
+
+<!-- The level class is org.apache.log4j.Level by default -->
+<!ELEMENT level (param*)>
+<!ATTLIST level
+  class   CDATA	#IMPLIED
+  value	  CDATA #REQUIRED
+>
+
+
+<!-- If no level element is specified, then the configurator MUST not -->
+<!-- touch the level of the named category. -->
+<!ELEMENT category (param*,(priority|level)?,appender-ref*)>
+<!ATTLIST category
+  class         CDATA   #IMPLIED
+  name		CDATA	#REQUIRED
+  additivity	(true|false) "true"  
+>
+
+<!-- If no level element is specified, then the configurator MUST not -->
+<!-- touch the level of the named logger. -->
+<!ELEMENT logger (level?,appender-ref*)>
+<!ATTLIST logger
+  name		CDATA	#REQUIRED
+  additivity	(true|false) "true"  
+>
+
+
+<!ELEMENT categoryFactory (param*)>
+<!ATTLIST categoryFactory 
+   class        CDATA #REQUIRED>
+
+<!ELEMENT loggerFactory (param*)>
+<!ATTLIST loggerFactory
+   class        CDATA #REQUIRED>
+
+<!ELEMENT appender-ref EMPTY>
+<!ATTLIST appender-ref
+  ref CDATA #REQUIRED
+>
+
+<!-- plugins must have a name and class and can have optional parameters -->
+<!ELEMENT plugin (param*)>
+<!ATTLIST plugin
+  name 		CDATA 	   #REQUIRED
+  class 	CDATA  #REQUIRED
+>
+
+<!ELEMENT triggeringPolicy ((param|filter)*)>
+<!ATTLIST triggeringPolicy
+  name 		CDATA  #IMPLIED
+  class 	CDATA  #REQUIRED
+>
+
+<!ELEMENT rollingPolicy (param*)>
+<!ATTLIST rollingPolicy
+  name 		CDATA  #IMPLIED
+  class 	CDATA  #REQUIRED
+>
+
+
+<!-- If no priority element is specified, then the configurator MUST not -->
+<!-- touch the priority of root. -->
+<!-- The root category always exists and cannot be subclassed. -->
+<!ELEMENT root (param*, (priority|level)?, appender-ref*)>
+
+
+<!-- ==================================================================== -->
+<!--                       A logging event                                -->
+<!-- ==================================================================== -->
+<!ELEMENT log4j:eventSet (log4j:event*)>
+<!ATTLIST log4j:eventSet
+  xmlns:log4j             CDATA #FIXED "http://jakarta.apache.org/log4j/" 
+  version                (1.1|1.2) "1.2" 
+  includesLocationInfo   (true|false) "true"
+>
+
+
+
+<!ELEMENT log4j:event (log4j:message, log4j:NDC?, log4j:throwable?, 
+                       log4j:locationInfo?) >
+
+<!-- The timestamp format is application dependent. -->
+<!ATTLIST log4j:event
+    logger     CDATA #REQUIRED
+    level      CDATA #REQUIRED
+    thread     CDATA #REQUIRED
+    timestamp  CDATA #REQUIRED
+>
+
+<!ELEMENT log4j:message (#PCDATA)>
+<!ELEMENT log4j:NDC (#PCDATA)>
+
+<!ELEMENT log4j:throwable (#PCDATA)>
+
+<!ELEMENT log4j:locationInfo EMPTY>
+<!ATTLIST log4j:locationInfo
+  class  CDATA	#REQUIRED
+  method CDATA	#REQUIRED
+  file   CDATA	#REQUIRED
+  line   CDATA	#REQUIRED
+>