Browse Source

Defensive catch block in LogbackLoggingSystem

Older versions of JBoss AS have a classpath clash with an older
SLF4J (pre 1.6.5), so to prevent an app from blowing up on
startup we defensively catch a NoSuchMethodError.

Fixes gh-339
pull/236/merge
Dave Syer 12 years ago
parent
commit
be73535611
  1. 8
      spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java

8
spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java

@ -67,7 +67,13 @@ public class LogbackLoggingSystem extends AbstractLoggingSystem { @@ -67,7 +67,13 @@ public class LogbackLoggingSystem extends AbstractLoggingSystem {
public void beforeInitialize() {
super.beforeInitialize();
if (ClassUtils.isPresent("org.slf4j.bridge.SLF4JBridgeHandler", getClassLoader())) {
SLF4JBridgeHandler.removeHandlersForRootLogger();
try {
SLF4JBridgeHandler.removeHandlersForRootLogger();
}
catch (NoSuchMethodError e) {
// Method missing in older versions of SLF4J like in JBoss AS 7.1
SLF4JBridgeHandler.uninstall();
}
SLF4JBridgeHandler.install();
}
}

Loading…
Cancel
Save