diff --git a/spring-geode-autoconfigure/src/main/java/org/springframework/geode/boot/autoconfigure/LoggingAutoConfiguration.java b/spring-geode-autoconfigure/src/main/java/org/springframework/geode/boot/autoconfigure/LoggingAutoConfiguration.java index 28156032..c0c02313 100644 --- a/spring-geode-autoconfigure/src/main/java/org/springframework/geode/boot/autoconfigure/LoggingAutoConfiguration.java +++ b/spring-geode-autoconfigure/src/main/java/org/springframework/geode/boot/autoconfigure/LoggingAutoConfiguration.java @@ -20,6 +20,7 @@ import org.apache.geode.cache.GemFireCache; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Configuration; import org.springframework.data.gemfire.CacheFactoryBean; import org.springframework.data.gemfire.config.annotation.EnableLogging; @@ -31,6 +32,7 @@ import org.springframework.data.gemfire.config.annotation.EnableLogging; * @see org.springframework.boot.autoconfigure.EnableAutoConfiguration * @see org.springframework.boot.autoconfigure.condition.ConditionalOnBean * @see org.springframework.boot.autoconfigure.condition.ConditionalOnClass + * @see org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean * @see org.springframework.context.annotation.Configuration * @see org.springframework.data.gemfire.CacheFactoryBean * @see org.springframework.data.gemfire.config.annotation.EnableLogging @@ -39,8 +41,14 @@ import org.springframework.data.gemfire.config.annotation.EnableLogging; @Configuration @ConditionalOnBean(GemFireCache.class) @ConditionalOnClass(CacheFactoryBean.class) +@ConditionalOnMissingBean(name = { + "org.springframework.data.gemfire.config.annotation.LoggingConfiguration.ClientGemFirePropertiesConfigurer", + "org.springframework.data.gemfire.config.annotation.LoggingConfiguration.LocatorGemFirePropertiesConfigurer", + "org.springframework.data.gemfire.config.annotation.LoggingConfiguration.PeerGemFirePropertiesConfigurer", +}) @EnableLogging @SuppressWarnings("unused") +// TODO Find a more reliable way to refer to the LoggingConfiguration Configurer beans defined above other than by name! public class LoggingAutoConfiguration { } diff --git a/spring-geode-autoconfigure/src/test/java/org/springframework/geode/boot/autoconfigure/logging/LoggingManualConfigurationIntegrationTests.java b/spring-geode-autoconfigure/src/test/java/org/springframework/geode/boot/autoconfigure/logging/LoggingManualConfigurationIntegrationTests.java index 496879dd..00917f93 100644 --- a/spring-geode-autoconfigure/src/test/java/org/springframework/geode/boot/autoconfigure/logging/LoggingManualConfigurationIntegrationTests.java +++ b/spring-geode-autoconfigure/src/test/java/org/springframework/geode/boot/autoconfigure/logging/LoggingManualConfigurationIntegrationTests.java @@ -52,7 +52,10 @@ import org.springframework.test.context.junit4.SpringRunner; */ @RunWith(SpringRunner.class) @SpringBootTest( - properties = { "spring.main.allow-bean-definition-overriding=false" }, + properties = { + "spring.data.gemfire.logging.level=warn", + "spring.main.allow-bean-definition-overriding=false" + }, webEnvironment = SpringBootTest.WebEnvironment.NONE ) @SuppressWarnings("unused") @@ -84,7 +87,7 @@ public class LoggingManualConfigurationIntegrationTests extends IntegrationTests @SpringBootApplication @EnableGemFireMockObjects - @EnableLogging(logLevel = "warn") + @EnableLogging @UseMemberName("LoggingManualConfigurationIntegrationTests") static class TestConfigurationOne { } diff --git a/spring-geode-autoconfigure/src/test/resources/application.properties b/spring-geode-autoconfigure/src/test/resources/application.properties index 9f25bd22..ad647eb5 100644 --- a/spring-geode-autoconfigure/src/test/resources/application.properties +++ b/spring-geode-autoconfigure/src/test/resources/application.properties @@ -3,5 +3,5 @@ spring.boot.data.gemfire.cache.data.import.active-profiles=IMPORT spring.boot.data.gemfire.security.ssl.keystore.name=non-existing-trusted.keystore spring.data.gemfire.logging.level=error -spring.data.gemfire.cache.log-level=${spring.data.gemfire.logging.level} +spring.data.gemfire.cache.log-level=${spring.data.gemfire.logging.level:off} spring.main.allow-bean-definition-overriding=true