Source:
<code>private void interrogateClassLoader(ClassLoader cl, Application application, List<LogDestination> appenders) { String applicationName = (application != null ? "application \"" + application.getName() + "\"" : "server"); try { Jdk14ManagerAccessor jdk14accessor = new Jdk14ManagerAccessor(cl); jdk14accessor.setApplication(application); appenders.addAll(jdk14accessor.getHandlers()); } catch (ThreadDeath t) { <START> throw (ThreadDeath) t; <END> } catch (Throwable t) { logger.debug("Could not resolve JDK loggers for " + applicationName, t); } try { Log4JManagerAccessor log4JAccessor = new Log4JManagerAccessor(cl); log4JAccessor.setApplication(application); appenders.addAll(log4JAccessor.getAppenders()); } catch (ThreadDeath t) { throw (ThreadDeath) t; } catch (Throwable t) { logger.debug("Could not resolve log4j loggers for " + applicationName, t); } try { LogbackFactoryAccessor logbackAccessor = new LogbackFactoryAccessor(cl); logbackAccessor.setApplication(application); appenders.addAll(logbackAccessor.getAppenders()); } catch (ThreadDeath t) { throw (ThreadDeath) t; } catch (Throwable t) { logger.debug("Could not resolve logback loggers for " + applicationName, t); } try { TomcatSlf4jLogbackFactoryAccessor tomcatSlf4jLogbackAccessor = new TomcatSlf4jLogbackFactoryAccessor(cl); tomcatSlf4jLogbackAccessor.setApplication(application); appenders.addAll(tomcatSlf4jLogbackAccessor.getAppenders()); } catch (ThreadDeath t) { throw (ThreadDeath) t; } catch (Throwable t) { logger.debug("Could not resolve tomcat-slf4j-logback loggers for " + applicationName, t); } }</code><technical_language>@georgekankava This is casting I mentioning. this catching threadDeath now, casting is unnecessary. fix this squash commit I merge it? a number of please review change. Thanks</technical_language>

Target:
private void interrogateClassLoader(ClassLoader cl, Application application, List<LogDestination> appenders) { String applicationName = (application != null ? "application \"" + application.getName() + "\"" : "server"); try { Jdk14ManagerAccessor jdk14accessor = new Jdk14ManagerAccessor(cl); jdk14accessor.setApplication(application); appenders.addAll(jdk14accessor.getHandlers()); } catch (ThreadDeath t) { throw t; } catch (Throwable t) { logger.debug("Could not resolve JDK loggers for " + applicationName, t); } try { Log4JManagerAccessor log4JAccessor = new Log4JManagerAccessor(cl); log4JAccessor.setApplication(application); appenders.addAll(log4JAccessor.getAppenders()); } catch (ThreadDeath t) { throw t; } catch (Throwable t) { logger.debug("Could not resolve log4j loggers for " + applicationName, t); } try { LogbackFactoryAccessor logbackAccessor = new LogbackFactoryAccessor(cl); logbackAccessor.setApplication(application); appenders.addAll(logbackAccessor.getAppenders()); } catch (ThreadDeath t) { throw t; } catch (Throwable t) { logger.debug("Could not resolve logback loggers for " + applicationName, t); } try { TomcatSlf4jLogbackFactoryAccessor tomcatSlf4jLogbackAccessor = new TomcatSlf4jLogbackFactoryAccessor(cl); tomcatSlf4jLogbackAccessor.setApplication(application); appenders.addAll(tomcatSlf4jLogbackAccessor.getAppenders()); } catch (ThreadDeath t) { throw t; } catch (Throwable t) { logger.debug("Could not resolve tomcat-slf4j-logback loggers for " + applicationName, t); } }