private final String ANON_LOGGER = "anonymous";
public String getLoggingReport() throws RuntimeException {
try {
StringBuilderNewLineAppender sb = new StringBuilderNewLineAppender(new StringBuilder());
LoggingMXBean lb = LogManager.getLoggingMXBean();
List<String> loggers = lb.getLoggerNames();
Collections.sort(loggers);
String lf = System.getProperty("java.util.logging.config.file");
sb.append(sm.getString("logging.config.file", lf));
sb.append(sm.getString("reg.loggers", loggers.size()));
sb.append(sm.getString("logger.details.1"));
sb.append(sm.getString("logger.details.2"));
sb.append(sm.getString("list.of.loggers"));
sb.append("--------------------------------------------------");
for (String logger : loggers) {
String ln = (logger == null) ? ANON_LOGGER : logger;
String parent = lb.getParentLoggerName(logger);
if (parent == null || parent.length() == 0)
parent = ROOT_LOGGER;
sb.append(ln + "|" + lb.getLoggerLevel(logger) + "|" + parent);
}
return (sb.toString());
} catch(Exception e) {
throw new RuntimeException(e);
}