1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.qos.logback.classic.util;
15
16 import ch.qos.logback.classic.LoggerContext;
17 import ch.qos.logback.core.status.OnConsoleStatusListener;
18 import ch.qos.logback.core.status.StatusListener;
19 import ch.qos.logback.core.util.OptionHelper;
20
21 public class StatusListenerConfigHelper {
22
23 static void installIfAsked(LoggerContext loggerContext) {
24 String slClass = OptionHelper.getSystemProperty(
25 ContextInitializer.STATUS_LISTENER_CLASS);
26 if (!OptionHelper.isEmpty(slClass)) {
27 addStatusListener(loggerContext, slClass);
28 }
29 }
30
31 static void addStatusListener(LoggerContext loggerContext,
32 String listenerClass) {
33 StatusListener listener = null;
34 if (ContextInitializer.SYSOUT.equalsIgnoreCase(listenerClass)) {
35 listener = new OnConsoleStatusListener();
36 } else {
37 try {
38 listener = (StatusListener) OptionHelper.instantiateByClassName(
39 listenerClass, StatusListener.class, loggerContext);
40 } catch (Exception e) {
41
42 e.printStackTrace();
43 }
44 }
45 if (listener != null) {
46 loggerContext.getStatusManager().add(listener);
47 }
48 }
49 }