View Javadoc

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   * A log manager for Logback.
18   * 
19   * @author Romain Gonord
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  }