1
2
3
4
5
6
7
8
9
10
11
12
13
14 package chapters.appenders;
15
16 import org.slf4j.Logger;
17 import org.slf4j.LoggerFactory;
18 import org.slf4j.MDC;
19
20 import ch.qos.logback.classic.LoggerContext;
21 import ch.qos.logback.classic.joran.JoranConfigurator;
22 import ch.qos.logback.core.joran.spi.JoranException;
23 import chapters.appenders.sub.sample.Bar;
24
25
26
27
28
29
30
31
32 public class ConfigurationTester {
33
34 public static void main(String[] args) throws InterruptedException {
35 Logger logger = (Logger) LoggerFactory.getLogger(ConfigurationTester.class);
36 LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
37
38 try {
39 JoranConfigurator configurator = new JoranConfigurator();
40 configurator.setContext(lc);
41 lc.reset();
42 configurator.doConfigure(args[0]);
43 } catch (JoranException je) {
44 je.printStackTrace();
45 }
46
47
48
49 logger.debug("**Hello {}", new Bar());
50 MDC.put("testKey", "testValueFromMDC");
51 MDC.put("testKey2", "value2");
52 for (int i = 0; i < 64; i++) {
53 logger.debug("logging statement {}", i);
54 Thread.sleep(100);
55 }
56 Bar bar = new Bar();
57 bar.createLoggingRequest();
58 }
59 }