1432 1433 private void resetLoggerContext(LoggerContext cx) { 1434 Enumeration<String> enum_ = cx.getLoggerNames(); 1435 while (enum_.hasMoreElements()) { 1436 String name = enum_.nextElement(); 1437 Logger logger = cx.findLogger(name); 1438 if (logger != null) { 1439 resetLogger(logger); 1440 } 1441 } 1442 } 1443 1444 private void closeHandlers(Logger logger) { 1445 Handler[] targets = logger.getHandlers(); 1446 for (Handler h : targets) { 1447 logger.removeHandler(h); 1448 try { 1449 h.close(); 1450 } catch (Exception ex) { 1451 // Problems closing a handler? Keep going... 1452 } 1453 } 1454 } 1455 1456 // Private method to reset an individual target logger. 1457 private void resetLogger(Logger logger) { 1458 // Close all the Logger handlers. 1459 closeHandlers(logger); 1460 1461 // Reset Logger level 1462 String name = logger.getName(); 1463 if (name != null && name.equals("")) { 1464 // This is the root logger. 1465 logger.setLevel(defaultLevel); 1466 } else { 1467 logger.setLevel(null); 1468 } 1469 } 1470 1471 // get a list of whitespace separated classnames from a property. | 1432 1433 private void resetLoggerContext(LoggerContext cx) { 1434 Enumeration<String> enum_ = cx.getLoggerNames(); 1435 while (enum_.hasMoreElements()) { 1436 String name = enum_.nextElement(); 1437 Logger logger = cx.findLogger(name); 1438 if (logger != null) { 1439 resetLogger(logger); 1440 } 1441 } 1442 } 1443 1444 private void closeHandlers(Logger logger) { 1445 Handler[] targets = logger.getHandlers(); 1446 for (Handler h : targets) { 1447 logger.removeHandler(h); 1448 try { 1449 h.close(); 1450 } catch (Exception ex) { 1451 // Problems closing a handler? Keep going... 1452 } catch (LinkageError e) { 1453 // ignore LinkageError while shutting down 1454 if (globalHandlersState != STATE_SHUTDOWN) { 1455 throw e; 1456 } 1457 } 1458 } 1459 } 1460 1461 // Private method to reset an individual target logger. 1462 private void resetLogger(Logger logger) { 1463 // Close all the Logger handlers. 1464 closeHandlers(logger); 1465 1466 // Reset Logger level 1467 String name = logger.getName(); 1468 if (name != null && name.equals("")) { 1469 // This is the root logger. 1470 logger.setLevel(defaultLevel); 1471 } else { 1472 logger.setLevel(null); 1473 } 1474 } 1475 1476 // get a list of whitespace separated classnames from a property. |