1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 package org.slf4j.impl;
26
27 import java.util.List;
28
29 import org.apache.log4j.LogManager;
30 import org.apache.log4j.spi.LoggingEvent;
31 import org.junit.After;
32 import org.junit.Before;
33 import static org.junit.Assert.assertNotNull;
34
35 import org.slf4j.helpers.MultithreadedInitializationTest;
36
37 public class Log4j12MultithreadedInitializationTest extends MultithreadedInitializationTest {
38 static int NUM_LINES_BY_RECURSIVE_APPENDER = 3;
39
40
41 static String CONFIG_FILE_KEY = "log4j.configuration";
42 final String loggerName = this.getClass().getName();
43
44 @Before
45 public void setup() {
46 System.setProperty(CONFIG_FILE_KEY, "recursiveInitWithActivationDelay.properties");
47 System.out.println("THREAD_COUNT=" + THREAD_COUNT);
48 }
49
50 @After
51 public void tearDown() throws Exception {
52 System.clearProperty(CONFIG_FILE_KEY);
53 }
54
55 protected long getRecordedEventCount() {
56 List<LoggingEvent> eventList = getRecordedEvents();
57 assertNotNull(eventList);
58 return eventList.size();
59 }
60
61 protected int extraLogEvents() {
62 return NUM_LINES_BY_RECURSIVE_APPENDER;
63 }
64
65 private List<LoggingEvent> getRecordedEvents() {
66 org.apache.log4j.Logger root = LogManager.getRootLogger();
67
68 RecursiveAppender ra = (RecursiveAppender) root.getAppender("RECURSIVE");
69 assertNotNull(ra);
70 return ra.events;
71 }
72
73 }