1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.log4j.customLogger;
19
20 import org.apache.log4j.xml.DOMConfigurator;
21 import org.apache.log4j.Logger;
22 import org.apache.log4j.Level;
23
24 import org.apache.log4j.util.*;
25
26 import junit.framework.TestCase;
27 import junit.framework.TestSuite;
28 import junit.framework.Test;
29
30 /***
31 Tests handling of custom loggers.
32
33 @author Ceki Gülcü
34 */
35 public class XLoggerTestCase extends TestCase {
36
37 static String FILTERED = "output/filtered";
38 static XLogger logger = (XLogger) XLogger.getLogger(XLoggerTestCase.class);
39
40 public XLoggerTestCase(String name){
41 super(name);
42 }
43
44 public void tearDown() {
45 logger.getLoggerRepository().resetConfiguration();
46 }
47
48 public void test1() throws Exception { common(1); }
49 public void test2() throws Exception { common(2); }
50
51 void common(int number) throws Exception {
52 DOMConfigurator.configure("input/xml/customLogger"+number+".xml");
53
54 int i = -1;
55 Logger root = Logger.getRootLogger();
56
57 logger.trace("Message " + ++i);
58 logger.debug("Message " + ++i);
59 logger.warn ("Message " + ++i);
60 logger.error("Message " + ++i);
61 logger.fatal("Message " + ++i);
62 Exception e = new Exception("Just testing");
63 logger.debug("Message " + ++i, e);
64
65 Transformer.transform(
66 "output/temp", FILTERED,
67 new Filter[] {
68 new LineNumberFilter(), new SunReflectFilter(),
69 new JunitTestRunnerFilter()
70 });
71 assertTrue(Compare.compare(FILTERED, "witness/customLogger."+number));
72
73 }
74
75 public static Test suite() {
76 TestSuite suite = new TestSuite();
77 suite.addTest(new XLoggerTestCase("test1"));
78 suite.addTest(new XLoggerTestCase("test2"));
79 return suite;
80 }
81 }