1
2
3
4
5
6
7
8
9
10
11
12
13
14 package chapters.architecture;
15
16
17 import org.slf4j.Logger;
18 import org.slf4j.LoggerFactory;
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
25 public class MyAppWithConfigFile {
26
27 public static void main(String[] args) {
28 Logger logger = LoggerFactory.getLogger(MyAppWithConfigFile.class);
29 LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
30
31 try {
32 JoranConfigurator configurator = new JoranConfigurator();
33 lc.reset();
34 configurator.setContext(lc);
35 configurator.doConfigure(args[0]);
36 } catch (JoranException je) {
37 StatusPrinter.print(lc.getStatusManager());
38 }
39 logger.info("Entering application.");
40 Bar bar = new Bar();
41 bar.doIt();
42 logger.info("Exiting application.");
43
44 }
45 }