diff --git a/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java b/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java index 39ba2dcf9d..8a385dbf2c 100644 --- a/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java +++ b/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackLoggingSystem.java @@ -90,10 +90,16 @@ public class LogbackLoggingSystem extends AbstractLoggingSystem { Assert.notNull(configLocation, "ConfigLocation must not be null"); String resolvedLocation = SystemPropertyUtils.resolvePlaceholders(configLocation); ILoggerFactory factory = StaticLoggerBinder.getSingleton().getLoggerFactory(); - Assert.isInstanceOf(LoggerContext.class, factory, - "LoggerFactory is not a Logback LoggerContext but " - + "Logback is on the classpath. Either remove Logback " - + "or the competing implementation (" + factory.getClass() + ")"); + Assert.isInstanceOf( + LoggerContext.class, + factory, + String.format( + "LoggerFactory is not a Logback LoggerContext but Logback is on " + + "the classpath. Either remove Logback or the competing " + + "implementation (%s loaded from %s).", + factory.getClass(), factory.getClass().getProtectionDomain() + .getCodeSource().getLocation())); + LoggerContext context = (LoggerContext) factory; context.stop(); context.reset();