1 package net.sf.appstatus.core.loggers.impl;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import java.util.Properties;
6
7 import net.sf.appstatus.core.loggers.ILoggersManager;
8 import net.sf.appstatus.core.loggers.LoggerConfig;
9
10 import org.slf4j.ILoggerFactory;
11 import org.slf4j.LoggerFactory;
12
13 import ch.qos.logback.classic.Level;
14 import ch.qos.logback.classic.LoggerContext;
15
16
17
18
19
20
21
22 public class LogbackLoggersManager implements ILoggersManager {
23 public List<LoggerConfig> getLoggers() {
24 List<LoggerConfig> loggers = new ArrayList<LoggerConfig>();
25 ILoggerFactory loggerFactory = LoggerFactory.getILoggerFactory();
26 if (loggerFactory instanceof LoggerContext) {
27 LoggerContext context = (LoggerContext) loggerFactory;
28 for (ch.qos.logback.classic.Logger l : context.getLoggerList()) {
29 loggers.add(new LoggerConfig(l.getName(), l.getEffectiveLevel().toString()));
30 }
31 }
32 return loggers;
33 }
34
35 public void update(LoggerConfig logger2Change) {
36 ILoggerFactory loggerFactory = LoggerFactory.getILoggerFactory();
37 if (loggerFactory instanceof LoggerContext) {
38 LoggerContext context = (LoggerContext) loggerFactory;
39 context.getLogger(logger2Change.getName()).setLevel(Level.valueOf(logger2Change.getLevel()));
40 }
41 }
42
43 public Properties getConfiguration() {
44 return null;
45 }
46
47 public void setConfiguration(Properties configuration) {
48 }
49 }