1 package ch.qos.logback.classic.util;
2
3 import org.slf4j.ILoggerFactory;
4 import org.slf4j.LoggerFactory;
5
6 import ch.qos.logback.classic.LoggerContext;
7 import ch.qos.logback.core.spi.ContextAwareBase;
8 import ch.qos.logback.core.status.ErrorStatus;
9 import ch.qos.logback.core.status.InfoStatus;
10 import ch.qos.logback.core.status.Status;
11
12
13
14
15
16
17
18
19 public class StatusViaSLF4JLoggerFactory {
20
21 public static void addInfo(String msg, Object o) {
22 addStatus(new InfoStatus(msg, o));
23 }
24
25 public static void addError(String msg, Object o) {
26 addStatus(new ErrorStatus(msg, o));
27 }
28
29 public static void addError(String msg, Object o, Throwable t) {
30 addStatus(new ErrorStatus(msg, o, t));
31 }
32
33 public static void addStatus(Status status) {
34 ILoggerFactory iLoggerFactory = LoggerFactory.getILoggerFactory();
35 if (iLoggerFactory instanceof LoggerContext) {
36 ContextAwareBase contextAwareBase = new ContextAwareBase();
37 LoggerContext loggerContext = (LoggerContext) iLoggerFactory;
38 contextAwareBase.setContext(loggerContext);
39 contextAwareBase.addStatus(status);
40 }
41 }
42 }