1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.log4j.filter;
18
19 import junit.framework.TestCase;
20 import org.apache.log4j.Level;
21 import org.apache.log4j.Logger;
22 import org.apache.log4j.spi.Filter;
23 import org.apache.log4j.spi.LoggingEvent;
24
25
26 /***
27 * Unit tests for LoggerMatchFilter.
28 */
29 public class LoggerMatchFilterTest extends TestCase {
30
31 /***
32 * Create new test instance.
33 *
34 * @param name test name.
35 */
36 public LoggerMatchFilterTest(final String name) {
37 super(name);
38 }
39
40 /***
41 * Check that LoggerMatchFilter.decide() with unspecified level
42 * returns Filter.ACCEPT for root logger.
43 */
44 public void test1() {
45 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
46 Logger.getRootLogger(),
47 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
48 Filter filter = new LoggerMatchFilter();
49 filter.activateOptions();
50 assertEquals(Filter.ACCEPT, filter.decide(event));
51 }
52
53 /***
54 * Check that LoggerMatchFilter.decide() with unspecified level
55 * returns Filter.DENY for root logger when accept on match is false.
56 */
57 public void test2() {
58 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
59 Logger.getRootLogger(),
60 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
61 LoggerMatchFilter filter = new LoggerMatchFilter();
62 filter.setAcceptOnMatch(false);
63 filter.activateOptions();
64 assertEquals(Filter.DENY, filter.decide(event));
65 }
66
67 /***
68 * Check that LoggerMatchFilter.decide() with unspecified level
69 * returns Filter.NEUTRAL for non-root logger.
70 */
71 public void test3() {
72 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
73 Logger.getLogger("org.apache.log4j.filter.LoggerMatchFilterTest"),
74 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
75 Filter filter = new LoggerMatchFilter();
76 filter.activateOptions();
77 assertEquals(Filter.NEUTRAL, filter.decide(event));
78 }
79
80 /***
81 * Check that LoggerMatchFilter.decide()
82 * returns Filter.ACCEPT for matching logger.
83 */
84 public void test4() {
85 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
86 Logger.getLogger("org.apache.log4j.filter.LoggerMatchFilterTest"),
87 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
88 LoggerMatchFilter filter = new LoggerMatchFilter();
89 filter.setLoggerToMatch("org.apache.log4j.filter.LoggerMatchFilterTest");
90 filter.activateOptions();
91 assertEquals(Filter.ACCEPT, filter.decide(event));
92 }
93
94 }
95