privateboolean useParentHandlers(String loggerName) {
String s = props.getProperty(loggerName + ".useParentHandlers"); if (s == null) returntrue; // default is true
s = s.toLowerCase(); if (s.equals("true") || s.equals("1")) { returntrue;
} elseif (s.equals("false") || s.equals("0")) { returnfalse;
} returntrue;
}
publicsynchronizedboolean addLogger(Logger logger) {
String name = logger.getName(); if (namedLoggers.containsKey(name)) { returnfalse;
}
namedLoggers.put(name, logger); // set level if (props.get(name + ".level") != null) {
logger.setLevel(Level.parse(props.getProperty(name + ".level")));
} // add handlers if (props.get(name + ".handlers") != null && logger.getHandlers().length == 0) {
logger.addHandler(new CustomHandler());
} if (!useParentHandlers(name)) {
logger.setUseParentHandlers(false);
} // add parent loggers int ix = 1; for (;;) { int ix2 = name.indexOf(".", ix); if (ix2 < 0) { break;
}
String pname = name.substring(0, ix2); if (props.get(pname + ".level") != null ||
props.get(pname + ".handlers") != null) { // This pname has a level/handlers definition. // Make sure it exists. // // The test doesn't set the parent for simplicity. if (!namedLoggers.containsKey(pname)) {
Logger parent = Logger.getLogger(pname); if (!useParentHandlers(pname)) {
parent.setUseParentHandlers(false);
}
}
}
ix = ix2 + 1;
} returntrue;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.