in gshell/gshell-log/src/main/java/org/apache/servicemix/kernel/gshell/log/GetLogLevel.java [44:95]
protected Object doExecute() throws Exception {
ConfigurationAdmin cfgAdmin = getConfigAdmin();
Configuration cfg = cfgAdmin.getConfiguration(CONFIGURATION_PID, null);
Dictionary props = cfg.getProperties();
if (ROOT_LOGGER.equalsIgnoreCase(this.logger)) {
this.logger = null;
}
if (ALL_LOGGER.equalsIgnoreCase(logger)) {
String root = getLevel((String) props.get(ROOT_LOGGER_PREFIX));
Map<String, String> loggers = new TreeMap<String, String>();
for (Enumeration e = props.keys(); e.hasMoreElements();) {
String prop = (String) e.nextElement();
if (prop.startsWith(LOGGER_PREFIX)) {
String val = getLevel((String) props.get(prop));
loggers.put(prop.substring(LOGGER_PREFIX.length()), val);
}
}
io.out.println("ROOT: " + root);
for (String logger : loggers.keySet()) {
io.out.println(logger + ": " + loggers.get(logger));
}
} else {
String logger = this.logger;
String val;
for (;;) {
String prop;
if (logger == null) {
prop = ROOT_LOGGER_PREFIX;
} else {
prop = LOGGER_PREFIX + logger;
}
val = (String) props.get(prop);
val = getLevel(val);
if (val != null || logger == null) {
break;
}
int idx = logger.lastIndexOf('.');
if (idx < 0) {
logger = null;
} else {
logger = logger.substring(0, idx);
}
}
String st = "Level: " + val;
if (logger != this.logger) {
st += " (inherited from " + (logger != null ? logger : "ROOT") + ")";
}
io.out.println(st);
}
return Result.SUCCESS;
}