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/07/18 09:21:38 UTC
svn commit: r557181 - in /logging/log4j/trunk:
src/main/java/org/apache/log4j/filter/ tests/input/filter/
tests/src/java/org/apache/log4j/filter/
tests/src/java/org/apache/log4j/util/ tests/witness/filter/
Author: carnold
Date: Wed Jul 18 00:21:29 2007
New Revision: 557181
URL: http://svn.apache.org/viewvc?view=rev&rev=557181
Log:
Bug 42099: Test for AndFilter and added LoggerMatchFilter
Added:
logging/log4j/trunk/src/main/java/org/apache/log4j/filter/LoggerMatchFilter.java
logging/log4j/trunk/tests/input/filter/simpleFilter8.xml
logging/log4j/trunk/tests/witness/filter/simpleFilter.6
logging/log4j/trunk/tests/witness/filter/simpleFilter.7
logging/log4j/trunk/tests/witness/filter/simpleFilter.8
Modified:
logging/log4j/trunk/tests/input/filter/simpleFilter1.xml
logging/log4j/trunk/tests/input/filter/simpleFilter6.xml
logging/log4j/trunk/tests/input/filter/simpleFilter7.xml
logging/log4j/trunk/tests/src/java/org/apache/log4j/filter/SimpleFilterTest.java
logging/log4j/trunk/tests/src/java/org/apache/log4j/util/JunitTestRunnerFilter.java
Added: logging/log4j/trunk/src/main/java/org/apache/log4j/filter/LoggerMatchFilter.java
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/src/main/java/org/apache/log4j/filter/LoggerMatchFilter.java?view=auto&rev=557181
==============================================================================
--- logging/log4j/trunk/src/main/java/org/apache/log4j/filter/LoggerMatchFilter.java (added)
+++ logging/log4j/trunk/src/main/java/org/apache/log4j/filter/LoggerMatchFilter.java Wed Jul 18 00:21:29 2007
@@ -0,0 +1,101 @@
+/*
+ * 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.filter;
+
+import org.apache.log4j.spi.Filter;
+import org.apache.log4j.spi.LoggingEvent;
+
+
+/**
+ This is a very simple filter based on logger name matching.
+
+ <p>The filter admits two options <b>LoggerToMatch</b> and
+ <b>AcceptOnMatch</b>. If there is an exact match between the value
+ of the <b>LoggerToMatch</b> option and the logger of the {@link
+ org.apache.log4j.spi.LoggingEvent}, then the {@link #decide} method returns {@link
+ org.apache.log4j.spi.Filter#ACCEPT} in case the <b>AcceptOnMatch</b> option value is set
+ to <code>true</code>, if it is <code>false</code> then {@link
+ org.apache.log4j.spi.Filter#DENY} is returned. If there is no match, {@link
+ org.apache.log4j.spi.Filter#NEUTRAL} is returned. A loggerToMatch of "root"
+ matches both the root logger and a logger named "root".
+
+ @since 1.3 */
+public class LoggerMatchFilter extends Filter {
+ /**
+ Do we return ACCEPT when a match occurs. Default is
+ <code>true</code>. */
+ private boolean acceptOnMatch = true;
+
+ /**
+ * Logger name, may be null or empty in which case it matches root.
+ */
+ private String loggerToMatch = "root";
+
+ /**
+ * Sets logger name.
+ * @param logger logger name.
+ */
+ public void setLoggerToMatch(final String logger) {
+ if (logger == null) {
+ loggerToMatch = "root";
+ } else {
+ loggerToMatch = logger;
+ }
+ }
+
+ /**
+ * Gets logger name.
+ * @return logger name.
+ */
+ public String getLoggerToMatch() {
+ return loggerToMatch;
+ }
+
+ /**
+ * Sets whether a match should result in acceptance.
+ * @param acceptOnMatch if true, accept if logger name matches, otherwise reject.
+ */
+ public void setAcceptOnMatch(final boolean acceptOnMatch) {
+ this.acceptOnMatch = acceptOnMatch;
+ }
+
+ /**
+ * Gets whether a match should result in acceptance.
+ * @return true if event is accepted if logger name matches.
+ */
+ public boolean getAcceptOnMatch() {
+ return acceptOnMatch;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public int decide(final LoggingEvent event) {
+ boolean matchOccured = loggerToMatch.equals(event.getLoggerName());
+ if (matchOccured) {
+ if (this.acceptOnMatch) {
+ return Filter.ACCEPT;
+ } else {
+ return Filter.DENY;
+ }
+ } else {
+ return Filter.NEUTRAL;
+ }
+ }
+}
Modified: logging/log4j/trunk/tests/input/filter/simpleFilter1.xml
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/tests/input/filter/simpleFilter1.xml?view=diff&rev=557181&r1=557180&r2=557181
==============================================================================
--- logging/log4j/trunk/tests/input/filter/simpleFilter1.xml (original)
+++ logging/log4j/trunk/tests/input/filter/simpleFilter1.xml Wed Jul 18 00:21:29 2007
@@ -1,7 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE configuration >
+<!--
+ 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
-<configuration xmlns='http://logging.apache.org/'>
+ 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.
+
+-->
+<!DOCTYPE log4j:configuration SYSTEM 'log4j.dtd' >
+
+<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="A1" class="org.apache.log4j.FileAppender">
@@ -34,4 +51,4 @@
<root>
<appender-ref ref="A1" />
</root>
-</configuration>
+</log4j:configuration>
Modified: logging/log4j/trunk/tests/input/filter/simpleFilter6.xml
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/tests/input/filter/simpleFilter6.xml?view=diff&rev=557181&r1=557180&r2=557181
==============================================================================
--- logging/log4j/trunk/tests/input/filter/simpleFilter6.xml (original)
+++ logging/log4j/trunk/tests/input/filter/simpleFilter6.xml Wed Jul 18 00:21:29 2007
@@ -1,13 +1,30 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE configuration >
+<!--
+ 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
-<configuration xmlns='http://logging.apache.org/' debug="true">
+ 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.
+
+-->
+<!DOCTYPE configuration SYSTEM 'log4j.dtd' >
+
+<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/' debug="true">
<appender name="TEMP" class="org.apache.log4j.FileAppender">
<param name="Append" value="false" />
- <param name="File" value="temp" />
+ <param name="File" value="output/temp" />
<layout class="org.apache.log4j.PatternLayout">
- <param name="ConversionPattern" value="%-5p %c{2} - %m\n"/>
+ <param name="ConversionPattern" value="%p - %m\n"/>
</layout>
<filter class="org.apache.log4j.filter.LevelMatchFilter">
@@ -19,8 +36,14 @@
<filter class="org.apache.log4j.filter.DenyAllFilter"/>
</appender>
-
+
+ <!-- Prevent internal log4j DEBUG messages from polluting the output. -->
+ <logger name="org.apache.log4j.joran.action"><level value="INFO" /></logger>
+ <logger name="org.apache.log4j.joran.JoranConfigurator"><level value="INFO" /></logger>
+ <logger name="org.apache.log4j.config"><level value="INFO" /></logger>
+ <logger name="org.apache.log4j.FileAppender"><level value="INFO" /></logger>
+
<root>
<appender-ref ref="TEMP" />
</root>
-</configuration>
+</log4j:configuration>
Modified: logging/log4j/trunk/tests/input/filter/simpleFilter7.xml
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/tests/input/filter/simpleFilter7.xml?view=diff&rev=557181&r1=557180&r2=557181
==============================================================================
--- logging/log4j/trunk/tests/input/filter/simpleFilter7.xml (original)
+++ logging/log4j/trunk/tests/input/filter/simpleFilter7.xml Wed Jul 18 00:21:29 2007
@@ -1,15 +1,32 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE log4j:configuration >
+<!--
+ 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.
+
+-->
+<!DOCTYPE log4j:configuration SYSTEM 'log4j.dtd'>
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'
configDebug="true">
<appender name="TEMP" class="org.apache.log4j.FileAppender">
<param name="Append" value="false" />
- <param name="File" value="temp" />
+ <param name="File" value="output/temp" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
- value="%-5p %c{2} - %m\n"/>
+ value="%p - %m\n"/>
</layout>
<filter class="org.apache.log4j.filter.LevelMatchFilter">
<param name="LevelToMatch" value="WARN" />
@@ -17,6 +34,13 @@
</filter>
</appender>
+
+ <!-- Prevent internal log4j DEBUG messages from polluting the output. -->
+ <logger name="org.apache.log4j.joran.action"><level value="INFO" /></logger>
+ <logger name="org.apache.log4j.joran.JoranConfigurator"><level value="INFO" /></logger>
+ <logger name="org.apache.log4j.config"><level value="INFO" /></logger>
+ <logger name="org.apache.log4j.FileAppender"><level value="INFO" /></logger>
+
<root>
<appender-ref ref="TEMP" />
Added: logging/log4j/trunk/tests/input/filter/simpleFilter8.xml
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/tests/input/filter/simpleFilter8.xml?view=auto&rev=557181
==============================================================================
--- logging/log4j/trunk/tests/input/filter/simpleFilter8.xml (added)
+++ logging/log4j/trunk/tests/input/filter/simpleFilter8.xml Wed Jul 18 00:21:29 2007
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 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.
+
+-->
+<!DOCTYPE log4j:configuration SYSTEM 'log4j.dtd'>
+
+<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'
+ configDebug="true">
+
+ <appender name="TEMP" class="org.apache.log4j.FileAppender">
+ <param name="Append" value="false" />
+ <param name="File" value="output/temp" />
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern"
+ value="%p %c - %m\n"/>
+ </layout>
+ <filter class="org.apache.log4j.filter.AndFilter">
+ <filter class="org.apache.log4j.filter.LevelMatchFilter">
+ <param name="LevelToMatch" value="WARN" />
+ </filter>
+ <filter class="org.apache.log4j.filter.LoggerMatchFilter">
+ <param name="LoggerToMatch" value="org.apache.log4j.filter.SimpleFilterTest" />
+ </filter>
+ </filter>
+ <filter class="org.apache.log4j.filter.DenyAllFilter"/>
+
+ </appender>
+
+ <!-- Prevent internal log4j DEBUG messages from polluting the output. -->
+ <logger name="org.apache.log4j.joran.action"><level value="INFO" /></logger>
+ <logger name="org.apache.log4j.joran.JoranConfigurator"><level value="INFO" /></logger>
+ <logger name="org.apache.log4j.config"><level value="INFO" /></logger>
+ <logger name="org.apache.log4j.FileAppender"><level value="INFO" /></logger>
+
+
+ <root>
+ <appender-ref ref="TEMP" />
+ </root>
+</log4j:configuration>
Modified: logging/log4j/trunk/tests/src/java/org/apache/log4j/filter/SimpleFilterTest.java
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/tests/src/java/org/apache/log4j/filter/SimpleFilterTest.java?view=diff&rev=557181&r1=557180&r2=557181
==============================================================================
--- logging/log4j/trunk/tests/src/java/org/apache/log4j/filter/SimpleFilterTest.java (original)
+++ logging/log4j/trunk/tests/src/java/org/apache/log4j/filter/SimpleFilterTest.java Wed Jul 18 00:21:29 2007
@@ -1,3 +1,19 @@
+/*
+ * 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.filter;
import org.apache.log4j.Level;
@@ -32,6 +48,7 @@
public final static String TEMP = "output/temp";
static String TEST1_PAT = "(DEBUG|INFO|WARN|ERROR|FATAL) - Message \\d";
+ static String TEST8_PAT = "WARN org.apache.log4j.filter.SimpleFilterTest - Message \\d";
static String EXCEPTION1 = "java.lang.Exception: Just testing";
static String EXCEPTION2 = "\\s*at .*\\(.*:\\d{1,4}\\)";
static String EXCEPTION3 = "\\s*at .*\\(Native Method\\)";
@@ -66,7 +83,58 @@
assertTrue(Compare.compare(FILTERED, "witness/filter/simpleFilter.1"));
}
-
+
+ public void test6() throws Exception {
+ JoranConfigurator joc = new JoranConfigurator();
+ joc.doConfigure("./input/filter/simpleFilter6.xml", LogManager.getLoggerRepository());
+ joc.dumpErrors();
+ common();
+
+ ControlFilter cf = new ControlFilter(new String[]{TEST1_PAT, EXCEPTION1, EXCEPTION2, EXCEPTION3});
+
+
+ Transformer.transform(TEMP, FILTERED, new Filter[] {cf,
+ new LineNumberFilter(),
+ new SunReflectFilter(),
+ new JunitTestRunnerFilter()});
+
+ assertTrue(Compare.compare(FILTERED, "witness/filter/simpleFilter.6"));
+ }
+
+ public void test7() throws Exception {
+ JoranConfigurator joc = new JoranConfigurator();
+ joc.doConfigure("./input/filter/simpleFilter7.xml", LogManager.getLoggerRepository());
+ joc.dumpErrors();
+ common();
+
+ ControlFilter cf = new ControlFilter(new String[]{TEST1_PAT, EXCEPTION1, EXCEPTION2, EXCEPTION3});
+
+
+ Transformer.transform(TEMP, FILTERED, new Filter[] {cf,
+ new LineNumberFilter(),
+ new SunReflectFilter(),
+ new JunitTestRunnerFilter()});
+
+ assertTrue(Compare.compare(FILTERED, "witness/filter/simpleFilter.7"));
+ }
+
+ public void test8() throws Exception {
+ JoranConfigurator joc = new JoranConfigurator();
+ joc.doConfigure("./input/filter/simpleFilter8.xml", LogManager.getLoggerRepository());
+ joc.dumpErrors();
+ common();
+
+ ControlFilter cf = new ControlFilter(new String[]{TEST8_PAT, EXCEPTION1, EXCEPTION2, EXCEPTION3});
+
+
+ Transformer.transform(TEMP, FILTERED, new Filter[] {cf,
+ new LineNumberFilter(),
+ new SunReflectFilter(),
+ new JunitTestRunnerFilter()});
+
+ assertTrue(Compare.compare(FILTERED, "witness/filter/simpleFilter.8"));
+ }
+
void common() {
int i = -1;
@@ -93,10 +161,4 @@
root.error("Message " + i, e);
}
- public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SimpleFilterTest("test1"));
- return suite;
- }
-
}
Modified: logging/log4j/trunk/tests/src/java/org/apache/log4j/util/JunitTestRunnerFilter.java
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/tests/src/java/org/apache/log4j/util/JunitTestRunnerFilter.java?view=diff&rev=557181&r1=557180&r2=557181
==============================================================================
--- logging/log4j/trunk/tests/src/java/org/apache/log4j/util/JunitTestRunnerFilter.java (original)
+++ logging/log4j/trunk/tests/src/java/org/apache/log4j/util/JunitTestRunnerFilter.java Wed Jul 18 00:21:29 2007
@@ -37,9 +37,20 @@
return null;
} else if (
util.match(
+ "/at com.intellij/",
+ in)) {
+ return null;
+ } else if (
+ util.match(
"/at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner/",
in)) {
return null;
+ } else if (in.indexOf("at junit.") >= 0 && in.indexOf("ui.TestRunner") >= 0) {
+ return null;
+ } else if (in.indexOf("org.apache.maven") >= 0) {
+ return null;
+ } else if (util.match("/\\sat /", in)) {
+ return "\t" + in.trim();
} else {
return in;
}
Added: logging/log4j/trunk/tests/witness/filter/simpleFilter.6
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/tests/witness/filter/simpleFilter.6?view=auto&rev=557181
==============================================================================
--- logging/log4j/trunk/tests/witness/filter/simpleFilter.6 (added)
+++ logging/log4j/trunk/tests/witness/filter/simpleFilter.6 Wed Jul 18 00:21:29 2007
@@ -0,0 +1,2 @@
+WARN - Message 2
+WARN - Message 2
Added: logging/log4j/trunk/tests/witness/filter/simpleFilter.7
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/tests/witness/filter/simpleFilter.7?view=auto&rev=557181
==============================================================================
--- logging/log4j/trunk/tests/witness/filter/simpleFilter.7 (added)
+++ logging/log4j/trunk/tests/witness/filter/simpleFilter.7 Wed Jul 18 00:21:29 2007
@@ -0,0 +1,52 @@
+DEBUG - Message 0
+DEBUG - Message 0
+INFO - Message 1
+INFO - Message 1
+ERROR - Message 3
+ERROR - Message 3
+FATAL - Message 4
+FATAL - Message 4
+DEBUG - Message 5
+java.lang.Exception: Just testing
+ at org.apache.log4j.filter.SimpleFilterTest.common(X)
+ at org.apache.log4j.filter.SimpleFilterTest.test7(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
+DEBUG - Message 5
+java.lang.Exception: Just testing
+ at org.apache.log4j.filter.SimpleFilterTest.common(X)
+ at org.apache.log4j.filter.SimpleFilterTest.test7(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
+ERROR - Message 6
+java.lang.Exception: Just testing
+ at org.apache.log4j.filter.SimpleFilterTest.common(X)
+ at org.apache.log4j.filter.SimpleFilterTest.test7(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
+ERROR - Message 6
+java.lang.Exception: Just testing
+ at org.apache.log4j.filter.SimpleFilterTest.common(X)
+ at org.apache.log4j.filter.SimpleFilterTest.test7(X)
+ at java.lang.reflect.Method.invoke(X)
+ at junit.framework.TestCase.runTest(X)
+ at junit.framework.TestCase.runBare(X)
+ at junit.framework.TestResult$1.protect(X)
+ at junit.framework.TestResult.runProtected(X)
+ at junit.framework.TestResult.run(X)
+ at junit.framework.TestCase.run(X)
Added: logging/log4j/trunk/tests/witness/filter/simpleFilter.8
URL: http://svn.apache.org/viewvc/logging/log4j/trunk/tests/witness/filter/simpleFilter.8?view=auto&rev=557181
==============================================================================
--- logging/log4j/trunk/tests/witness/filter/simpleFilter.8 (added)
+++ logging/log4j/trunk/tests/witness/filter/simpleFilter.8 Wed Jul 18 00:21:29 2007
@@ -0,0 +1 @@
+WARN org.apache.log4j.filter.SimpleFilterTest - Message 2
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org