Index: tests/input/xml/fallback2.xml =================================================================== --- tests/input/xml/fallback2.xml (revision 0) +++ tests/input/xml/fallback2.xml (revision 0) @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Index: tests/src/java/org/apache/log4j/varia/ErrorHandlerTestCase.java =================================================================== --- tests/src/java/org/apache/log4j/varia/ErrorHandlerTestCase.java (revision 823385) +++ tests/src/java/org/apache/log4j/varia/ErrorHandlerTestCase.java (working copy) @@ -22,6 +22,7 @@ import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.spi.LoggingEvent; import org.apache.log4j.util.Filter; import org.apache.log4j.util.Transformer; import org.apache.log4j.util.Compare; @@ -99,6 +100,25 @@ assertTrue(Compare.compare(FILTERED, "witness/fallback1")); } + public void test3() throws Exception { + DOMConfigurator.configure("input/xml/fallback2.xml"); + Appender primary = root.getAppender("PRIMARY"); + ErrorHandler eh = primary.getErrorHandler(); + assertNotNull(eh); + + common(); + + ControlFilter cf = new ControlFilter(new String[]{TEST1_PAT, + EXCEPTION1, EXCEPTION2, EXCEPTION3}); + + Transformer.transform(TEMP, FILTERED, new Filter[] {cf, + new LineNumberFilter(), + new JunitTestRunnerFilter()}); + + + assertTrue(Compare.compare(FILTERED, "witness/fallback1")); + } + void common() { int i = -1;