Bug 42094: PluginConfigurator tweaks
git-svn-id: https://svn.apache.org/repos/asf/logging/sandbox/log4j/component@532828 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/build.xml b/build.xml
index e6c30bd..ee0867d 100644
--- a/build.xml
+++ b/build.xml
@@ -67,7 +67,7 @@
target="${javac.target}"
source="${javac.source}"
classpath="${log4j.jar}"/>
- <copy todir="target/classes">
+ <copy todir="target/classes" overwrite="true">
<fileset dir="src/main/resources"/>
</copy>
</target>
@@ -98,14 +98,14 @@
target="${javac.target}"
source="${javac.source}"
classpath="${log4j.jar}:${junit.jar}:target/classes"/>
- <copy todir="target/test-classes">
+ <copy todir="target/test-classes" overwrite="true">
<fileset dir="src/test/resources"/>
</copy>
</target>
<target name="test" depends="test-compile" description="Run unit tests">
- <junit printsummary="yes">
+ <junit printsummary="yes" fork="true" dir="target">
<classpath path="target/test-classes:target/classes:${log4j.jar}"/>
<batchtest>
<fileset dir="src/test/java/">
diff --git a/src/main/java/org/apache/log4j/plugins/PluginConfigurator.java b/src/main/java/org/apache/log4j/plugins/PluginConfigurator.java
index 0796157..3331dbc 100644
--- a/src/main/java/org/apache/log4j/plugins/PluginConfigurator.java
+++ b/src/main/java/org/apache/log4j/plugins/PluginConfigurator.java
@@ -261,7 +261,7 @@
"] which does not implement org.apache.log4j.spi.AppenderAttachable.");
}
} else {
- parseUnrecognizedElement(instance, appenderElement, props);
+ parseUnrecognizedElement(instance, currentElement, props);
}
}
}
@@ -890,7 +890,9 @@
parseRoot(currentElement);
} else if(tagName.equals(RENDERER_TAG)) {
parseRenderer(currentElement);
- } else if (!tagName.equals(CATEGORY_FACTORY_TAG)) {
+ } else if (!(tagName.equals(APPENDER_TAG)
+ || tagName.equals(CATEGORY_FACTORY_TAG)
+ || tagName.equals(LOGGER_FACTORY_TAG))) {
quietParseUnrecognizedElement(repository, currentElement, props);
}
}
@@ -1014,7 +1016,7 @@
public InputSource resolveEntity (String publicId, String systemId) {
if (systemId.endsWith("log4j.dtd")) {
Class clazz = getClass();
- InputStream in = Log4jEntityResolver.class.getResourceAsStream("log4j.dtd");
+ InputStream in = clazz.getResourceAsStream("log4j.dtd");
if (in == null) {
LogLog.error("Could not find [log4j.dtd]. Used [" + clazz.getClassLoader()
+ "] class loader in the search.");
diff --git a/src/main/resources/org/apache/log4j/plugins/log4j.dtd b/src/main/resources/org/apache/log4j/plugins/log4j.dtd
index b20ac1e..9527734 100644
--- a/src/main/resources/org/apache/log4j/plugins/log4j.dtd
+++ b/src/main/resources/org/apache/log4j/plugins/log4j.dtd
@@ -136,14 +136,14 @@
>
<!ELEMENT triggeringPolicy ((param|filter)*)>
-<!ATTLIST plugin
- name CDATA #REQUIRED
+<!ATTLIST triggeringPolicy
+ name CDATA #IMPLIED
class CDATA #REQUIRED
>
<!ELEMENT rollingPolicy (param*)>
-<!ATTLIST plugin
- name CDATA #REQUIRED
+<!ATTLIST rollingPolicy
+ name CDATA #IMPLIED
class CDATA #REQUIRED
>