1
2
3
4
5
6
7
8
9
10
11
12
13
14 package chapters.appenders.sift;
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
24 public class SiftExample {
25
26 public static void main(String[] args) throws JoranException {
27 if (args.length != 1) {
28 usage("Wrong number of arguments.");
29 }
30
31 String configFile = args[0];
32
33 LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
34 JoranConfigurator configurator = new JoranConfigurator();
35 lc.reset();
36 configurator.setContext(lc);
37 configurator.doConfigure(configFile);
38
39 Logger logger = LoggerFactory.getLogger(SiftExample.class);
40 logger.debug("Application started");
41
42 MDC.put("userid", "Alice");
43 logger.debug("Alice says hello");
44
45
46 }
47
48 static void usage(String msg) {
49 System.err.println(msg);
50 System.err.println("Usage: java " + SiftExample.class.getName() + " configFile\n" + " configFile a logback configuration file");
51 System.exit(1);
52 }
53 }