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 ch.qos.logback.core.util.StatusPrinter;
24 import chapters.appenders.sub.sample.Bar;
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 StatusPrinter.print(lc);
49
50 logger.debug("**Hello {}", new Bar());
51 MDC.put("testKey", "testValueFromMDC");
52 MDC.put("testKey2", "value2");
53 for (int i = 0; i < 10; i++) {
54 logger.debug("logging statement " + i);
55 Thread.sleep(100);
56 }
57 Bar bar = new Bar();
58 bar.createLoggingRequest();
59 }
60 }