1 package net.sf.appstatus.core.loggers.impl;
2
3 import java.util.ArrayList;
4 import java.util.Collections;
5 import java.util.Enumeration;
6 import java.util.List;
7 import java.util.Properties;
8
9 import net.sf.appstatus.core.loggers.ILoggersManager;
10 import net.sf.appstatus.core.loggers.LoggerConfig;
11
12 import org.apache.log4j.Level;
13 import org.apache.log4j.LogManager;
14 import org.apache.log4j.Logger;
15
16
17
18
19
20
21
22 public class Log4jLoggersManager implements ILoggersManager {
23 @SuppressWarnings("unchecked")
24 public List<LoggerConfig> getLoggers() {
25 List<LoggerConfig> loggers = new ArrayList<LoggerConfig>();
26 loggers.add(new LoggerConfig("ROOT", LogManager.getRootLogger().getEffectiveLevel().toString()));
27 Enumeration<Logger> currentLoggers = LogManager.getCurrentLoggers();
28 while (currentLoggers.hasMoreElements()) {
29 Logger logger = currentLoggers.nextElement();
30 loggers.add(new LoggerConfig(logger.getName(), logger.getEffectiveLevel().toString()));
31 }
32 Collections.sort(loggers);
33 return loggers;
34 }
35
36 public void update(LoggerConfig logger2Change) {
37
38 if ("ROOT".equals(logger2Change.getName())) {
39 LogManager.getRootLogger().setLevel(Level.toLevel(logger2Change.getLevel()));
40 } else {
41 LogManager.getLogger(logger2Change.getName()).setLevel(Level.toLevel(logger2Change.getLevel()));
42 }
43 }
44
45 public Properties getConfiguration() {
46 return null;
47 }
48
49 public void setConfiguration(Properties configuration) {
50
51 }
52 }