You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ca...@apache.org on 2007/10/22 22:24:31 UTC
svn commit: r587235 - in /logging/log4j/trunk: src/changes/changes.xml
src/main/java/org/apache/log4j/xml/DOMConfigurator.java
tests/src/java/org/apache/log4j/xml/DOMTestCase.java
Author: carnold
Date: Mon Oct 22 13:24:30 2007
New Revision: 587235
URL: http://svn.apache.org/viewvc?rev=587235&view=rev
Log:
Bug 43325: Subst-mechanism in DOMConfigurator broken
Modified:
logging/log4j/trunk/src/changes/changes.xml
logging/log4j/trunk/src/main/java/org/apache/log4j/xml/DOMConfigurator.java
logging/log4j/trunk/tests/src/java/org/apache/log4j/xml/DOMTestCase.java
Modified: logging/log4j/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/src/changes/changes.xml?rev=587235&r1=587234&r2=587235&view=diff
==============================================================================
--- logging/log4j/trunk/src/changes/changes.xml (original)
+++ logging/log4j/trunk/src/changes/changes.xml Mon Oct 22 13:24:30 2007
@@ -22,6 +22,7 @@
<body>
<release version="1.2.16" date="TBD" description="">
+ <action action="fix" issue="43325">Subst-mechanism in DOMConfigurator broken.</action>
<action action="fix" issue="43374">DailyRollingFileAppender may lose messages during failed rollover attempts.</action>
<action action="fix" issue="43312">Fix mangled source-repository.html.</action>
<action action="fix" issue="43387">Minor documentation changes.</action>
Modified: logging/log4j/trunk/src/main/java/org/apache/log4j/xml/DOMConfigurator.java
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/src/main/java/org/apache/log4j/xml/DOMConfigurator.java?rev=587235&r1=587234&r2=587235&view=diff
==============================================================================
--- logging/log4j/trunk/src/main/java/org/apache/log4j/xml/DOMConfigurator.java (original)
+++ logging/log4j/trunk/src/main/java/org/apache/log4j/xml/DOMConfigurator.java Mon Oct 22 13:24:30 2007
@@ -34,7 +34,6 @@
import org.apache.log4j.spi.Filter;
import org.apache.log4j.spi.LoggerFactory;
import org.apache.log4j.spi.LoggerRepository;
-import org.apache.log4j.spi.OptionHandler;
import org.apache.log4j.spi.RendererSupport;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -615,7 +614,10 @@
protected
void setParameter(Element elem, PropertySetter propSetter) {
- setParameter(elem, propSetter, props);
+ String name = subst(elem.getAttribute(NAME_ATTR));
+ String value = (elem.getAttribute(VALUE_ATTR));
+ value = subst(OptionConverter.convertSpecialChars(value));
+ propSetter.setProperty(name, value);
}
Modified: logging/log4j/trunk/tests/src/java/org/apache/log4j/xml/DOMTestCase.java
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/tests/src/java/org/apache/log4j/xml/DOMTestCase.java?rev=587235&r1=587234&r2=587235&view=diff
==============================================================================
--- logging/log4j/trunk/tests/src/java/org/apache/log4j/xml/DOMTestCase.java (original)
+++ logging/log4j/trunk/tests/src/java/org/apache/log4j/xml/DOMTestCase.java Mon Oct 22 13:24:30 2007
@@ -19,7 +19,9 @@
import junit.framework.TestCase;
import org.apache.log4j.Appender;
+import org.apache.log4j.FileAppender;
import org.apache.log4j.Level;
+import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.log4j.VectorAppender;
import org.apache.log4j.spi.ErrorHandler;
@@ -307,6 +309,27 @@
public void testConfigureAndWatch() throws Exception {
DOMConfigurator.configureAndWatch("input/xml/DOMTestCase1.xml");
assertNotNull(Logger.getRootLogger().getAppender("A1"));
+ }
+
+
+ /**
+ * This test checks that the subst method of an extending class
+ * is checked when evaluating parameters. See bug 43325.
+ *
+ */
+ public void testOverrideSubst() {
+ DOMConfigurator configurator = new DOMConfigurator() {
+ protected String subst(final String value) {
+ if ("output/temp.A1".equals(value)) {
+ return "output/subst-test.A1";
+ }
+ return value;
+ }
+ };
+ configurator.doConfigure("input/xml/DOMTestCase1.xml", LogManager.getLoggerRepository());
+ FileAppender a1 = (FileAppender) Logger.getRootLogger().getAppender("A1");
+ String file = a1.getFile();
+ assertEquals("output/subst-test.A1", file);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org