ceki 2003/09/02 11:47:48
Modified: tests/src/java/org/apache/joran JoranParserTestCase.java
SimpleStoreTestCase.java
Added: tests/input/joran parser1.xml parser2.xml
Log:
Joran can now configure loggers and set their levels. (It still cannot
configure appenders or attach them to loggers.)
Revision Changes Path
1.2 +23 -3
jakarta-log4j/tests/src/java/org/apache/joran/JoranParserTestCase.java
Index: JoranParserTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j/tests/src/java/org/apache/joran/JoranParserTestCase.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- JoranParserTestCase.java 25 Aug 2003 16:14:32 -0000 1.1
+++ JoranParserTestCase.java 2 Sep 2003 18:47:48 -0000 1.2
@@ -9,6 +9,13 @@
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
+import org.apache.joran.action.LevelAction;
+import org.apache.joran.action.LoggerAction;
+import org.apache.joran.action.RootLoggerAction;
+import org.apache.log4j.ConsoleAppender;
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
+import org.apache.log4j.PatternLayout;
import org.w3c.dom.Document;
import junit.framework.TestCase;
@@ -21,6 +28,8 @@
*/
public class JoranParserTestCase extends TestCase {
+ final static Logger logger = Logger.getLogger(JoranParserTestCase.class);
+
/**
* Constructor for JoranParserTestCase.
* @param name
@@ -34,6 +43,10 @@
*/
protected void setUp() throws Exception {
super.setUp();
+ Logger root = Logger.getRootLogger();
+ root.addAppender(
+ new ConsoleAppender(
+ new PatternLayout("%r %5p [%t] %c{2} -
%m%n")));
}
/*
@@ -41,10 +54,11 @@
*/
protected void tearDown() throws Exception {
super.tearDown();
+ LogManager.shutdown();
}
public void testLoop() throws Exception {
- System.out.println("Starting testLoop");
+ logger.debug("Starting testLoop");
DocumentBuilderFactory dbf = null;
@@ -55,8 +69,14 @@
//inputSource.setSystemId("dummy://log4j.dtd");
Document doc = docBuilder.parse("file:input/joran/parser1.xml");
-
- JoranParser jp = new JoranParser(null);
+ RuleStore rs = new SimpleRuleStore();
+ logger.debug("pattern: "+new Pattern("log4j:configuration/logger"));
+ rs.addRule(new Pattern("log4j:configuration/logger"), new LoggerAction());
+ rs.addRule(new Pattern("log4j:configuration/logger/level"), new
LevelAction());
+ rs.addRule(new Pattern("log4j:configuration/root"), new
RootLoggerAction());
+ JoranParser jp = new JoranParser(rs);
+ ExecutionContext ec = jp.getExecutionContext();
+ ec.pushObject(LogManager.getLoggerRepository());
jp.parse(doc);
}
1.3 +16 -17
jakarta-log4j/tests/src/java/org/apache/joran/SimpleStoreTestCase.java
Index: SimpleStoreTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j/tests/src/java/org/apache/joran/SimpleStoreTestCase.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SimpleStoreTestCase.java 25 Aug 2003 16:17:59 -0000 1.2
+++ SimpleStoreTestCase.java 2 Sep 2003 18:47:48 -0000 1.3
@@ -55,6 +55,7 @@
*/
package org.apache.joran;
+import org.apache.joran.action.Action;
import junit.framework.TestCase;
import org.w3c.dom.Document;
@@ -186,35 +187,33 @@
}
class XAction extends Action {
- public void begin(Element e) {
+ public void begin(ExecutionContext ec, Element e) {
}
- public void end(Element e) {
+ public void end(ExecutionContext ec, Element e) {
}
- public void finish() {
+ public void finish(ExecutionContext ec) {
}
}
class YAction extends Action {
- public void begin(Element e) {
- }
+ public void begin(ExecutionContext ec, Element e) {
+ }
- public void end(Element e) {
- }
+ public void end(ExecutionContext ec, Element e) {
+ }
- public void finish() {
- }
- }
+ public void finish(ExecutionContext ec) {
+ } }
class ZAction extends Action {
- public void begin(Element e) {
- }
+ public void begin(ExecutionContext ec, Element e) {
+ }
- public void end(Element e) {
- }
+ public void end(ExecutionContext ec, Element e) {
+ }
- public void finish() {
- }
- }
+ public void finish(ExecutionContext ec) {
+ } }
}
1.1 jakarta-log4j/tests/input/joran/parser1.xml
Index: parser1.xml
===================================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<logger>
<level value ="debug" />
<appender-ref ref="A1" />
</logger>
<logger name="asd">
<level value ="debug" />
<appender-ref ref="A1" />
</logger>
<root>
<level value ="debug" />
<appender-ref ref="A1" />
</root>
</log4j:configuration>
1.1 jakarta-log4j/tests/input/joran/parser2.xml
Index: parser2.xml
===================================================================
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="A1" class="org.apache.log4j.FileAppender">
asdfasdf
<param name="File" value="output/temp.A1" />
<param name="Append" value="false" />
asdfasdf
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{2} - %m%n"/>
</layout>
</appender>
<logger>
<level value ="debug" />
<appender-ref ref="A1" />
</logger>
<logger name="asd">
<level value ="debug" />
<appender-ref ref="A1" />
</logger>
<root>
<level value ="debug" />
<appender-ref ref="A1" />
</root>
</log4j:configuration>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]