diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/log4j2/SpringEnvironmentLookup.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/log4j2/SpringEnvironmentLookup.java index 48989abfc33c..1a0b16995eef 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/log4j2/SpringEnvironmentLookup.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/log4j2/SpringEnvironmentLookup.java @@ -43,7 +43,10 @@ public String lookup(LogEvent event, String key) { @Override public String lookup(String key) { - Assert.state(this.environment != null, "Unable to obtain Spring Environment from LoggerContext"); + Assert.state(this.environment != null, + "Unable to obtain Spring Environment from LoggerContext. " + + "This can happen if your log4j2 configuration filename does not end with '-spring' " + + "(for example using 'log4j2.xml' instead of 'log4j2-spring.xml')"); return this.environment.getProperty(key); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/SpringEnvironmentLookupTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/SpringEnvironmentLookupTests.java index a8b6d39c06f6..03027166e74d 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/SpringEnvironmentLookupTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/logging/log4j2/SpringEnvironmentLookupTests.java @@ -69,7 +69,9 @@ void lookupWhenNoSpringEnvironmentThrowsException() { this.loggerContext.removeObject(Log4J2LoggingSystem.ENVIRONMENT_KEY); Interpolator lookup = createLookup(this.loggerContext); assertThatIllegalStateException().isThrownBy(() -> lookup.lookup("spring:test")) - .withMessage("Unable to obtain Spring Environment from LoggerContext"); + .withMessage("Unable to obtain Spring Environment from LoggerContext. " + + "This can happen if your log4j2 configuration filename does not end with '-spring' " + + "(for example using 'log4j2.xml' instead of 'log4j2-spring.xml')"); } private Interpolator createLookup(LoggerContext context) {