diff --git a/spring-aop/src/main/java/org/springframework/aop/framework/autoproxy/AbstractAutoProxyCreator.java b/spring-aop/src/main/java/org/springframework/aop/framework/autoproxy/AbstractAutoProxyCreator.java index e212b36bae2..ebd7cf53728 100644 --- a/spring-aop/src/main/java/org/springframework/aop/framework/autoproxy/AbstractAutoProxyCreator.java +++ b/spring-aop/src/main/java/org/springframework/aop/framework/autoproxy/AbstractAutoProxyCreator.java @@ -414,9 +414,9 @@ public abstract class AbstractAutoProxyCreator extends ProxyProcessorSupport TargetSource ts = tsc.getTargetSource(beanClass, beanName); if (ts != null) { // Found a matching TargetSource. - if (logger.isDebugEnabled()) { - logger.debug("TargetSourceCreator [" + tsc + - " found custom TargetSource for bean with name '" + beanName + "'"); + if (logger.isTraceEnabled()) { + logger.trace("TargetSourceCreator [" + tsc + + "] found custom TargetSource for bean with name '" + beanName + "'"); } return ts; } @@ -522,10 +522,10 @@ public abstract class AbstractAutoProxyCreator extends ProxyProcessorSupport } } } - if (logger.isDebugEnabled()) { + if (logger.isTraceEnabled()) { int nrOfCommonInterceptors = commonInterceptors.length; int nrOfSpecificInterceptors = (specificInterceptors != null ? specificInterceptors.length : 0); - logger.debug("Creating implicit proxy for bean '" + beanName + "' with " + nrOfCommonInterceptors + + logger.trace("Creating implicit proxy for bean '" + beanName + "' with " + nrOfCommonInterceptors + " common interceptors and " + nrOfSpecificInterceptors + " specific interceptors"); } diff --git a/spring-aop/src/main/java/org/springframework/aop/framework/autoproxy/BeanFactoryAdvisorRetrievalHelper.java b/spring-aop/src/main/java/org/springframework/aop/framework/autoproxy/BeanFactoryAdvisorRetrievalHelper.java index 4e912f472e9..291fa91083b 100644 --- a/spring-aop/src/main/java/org/springframework/aop/framework/autoproxy/BeanFactoryAdvisorRetrievalHelper.java +++ b/spring-aop/src/main/java/org/springframework/aop/framework/autoproxy/BeanFactoryAdvisorRetrievalHelper.java @@ -82,8 +82,8 @@ public class BeanFactoryAdvisorRetrievalHelper { for (String name : advisorNames) { if (isEligibleBean(name)) { if (this.beanFactory.isCurrentlyInCreation(name)) { - if (logger.isDebugEnabled()) { - logger.debug("Skipping currently created advisor '" + name + "'"); + if (logger.isTraceEnabled()) { + logger.trace("Skipping currently created advisor '" + name + "'"); } } else { @@ -96,8 +96,8 @@ public class BeanFactoryAdvisorRetrievalHelper { BeanCreationException bce = (BeanCreationException) rootCause; String bceBeanName = bce.getBeanName(); if (bceBeanName != null && this.beanFactory.isCurrentlyInCreation(bceBeanName)) { - if (logger.isDebugEnabled()) { - logger.debug("Skipping advisor '" + name + + if (logger.isTraceEnabled()) { + logger.trace("Skipping advisor '" + name + "' with dependency on currently created bean: " + ex.getMessage()); } // Ignore: indicates a reference back to the bean we're trying to advise. diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/InjectionMetadata.java b/spring-beans/src/main/java/org/springframework/beans/factory/annotation/InjectionMetadata.java index a25a5f4023a..1c68ff1b622 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/annotation/InjectionMetadata.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/annotation/InjectionMetadata.java @@ -70,8 +70,8 @@ public class InjectionMetadata { if (!beanDefinition.isExternallyManagedConfigMember(member)) { beanDefinition.registerExternallyManagedConfigMember(member); checkedElements.add(element); - if (logger.isDebugEnabled()) { - logger.debug("Registered injected element on class [" + this.targetClass.getName() + "]: " + element); + if (logger.isTraceEnabled()) { + logger.trace("Registered injected element on class [" + this.targetClass.getName() + "]: " + element); } } } @@ -83,10 +83,9 @@ public class InjectionMetadata { Collection elementsToIterate = (checkedElements != null ? checkedElements : this.injectedElements); if (!elementsToIterate.isEmpty()) { - boolean debug = logger.isDebugEnabled(); for (InjectedElement element : elementsToIterate) { - if (debug) { - logger.debug("Processing injected element of bean '" + beanName + "': " + element); + if (logger.isTraceEnabled()) { + logger.trace("Processing injected element of bean '" + beanName + "': " + element); } element.inject(target, beanName, pvs); } diff --git a/spring-context/src/main/java/org/springframework/cache/interceptor/AbstractFallbackCacheOperationSource.java b/spring-context/src/main/java/org/springframework/cache/interceptor/AbstractFallbackCacheOperationSource.java index 3991969b3d8..e68fc32928a 100644 --- a/spring-context/src/main/java/org/springframework/cache/interceptor/AbstractFallbackCacheOperationSource.java +++ b/spring-context/src/main/java/org/springframework/cache/interceptor/AbstractFallbackCacheOperationSource.java @@ -98,8 +98,8 @@ public abstract class AbstractFallbackCacheOperationSource implements CacheOpera else { Collection cacheOps = computeCacheOperations(method, targetClass); if (cacheOps != null) { - if (logger.isDebugEnabled()) { - logger.debug("Adding cacheable method '" + method.getName() + "' with attribute: " + cacheOps); + if (logger.isTraceEnabled()) { + logger.trace("Adding cacheable method '" + method.getName() + "' with attribute: " + cacheOps); } this.attributeCache.put(cacheKey, cacheOps); } diff --git a/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassBeanDefinitionReader.java b/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassBeanDefinitionReader.java index 107cb90973d..c48d9044b37 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassBeanDefinitionReader.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassBeanDefinitionReader.java @@ -161,8 +161,8 @@ class ConfigurationClassBeanDefinitionReader { this.registry.registerBeanDefinition(definitionHolder.getBeanName(), definitionHolder.getBeanDefinition()); configClass.setBeanName(configBeanName); - if (logger.isDebugEnabled()) { - logger.debug("Registered bean definition for imported class '" + configBeanName + "'"); + if (logger.isTraceEnabled()) { + logger.trace("Registered bean definition for imported class '" + configBeanName + "'"); } } diff --git a/spring-core/src/test/resources/log4j2-test.xml b/spring-core/src/test/resources/log4j2-test.xml index 07999082b99..dfacd8a87e9 100644 --- a/spring-core/src/test/resources/log4j2-test.xml +++ b/spring-core/src/test/resources/log4j2-test.xml @@ -10,8 +10,6 @@ - - diff --git a/spring-tx/src/main/java/org/springframework/transaction/interceptor/AbstractFallbackTransactionAttributeSource.java b/spring-tx/src/main/java/org/springframework/transaction/interceptor/AbstractFallbackTransactionAttributeSource.java index b2ebfc12363..358c080f49e 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/interceptor/AbstractFallbackTransactionAttributeSource.java +++ b/spring-tx/src/main/java/org/springframework/transaction/interceptor/AbstractFallbackTransactionAttributeSource.java @@ -119,8 +119,8 @@ public abstract class AbstractFallbackTransactionAttributeSource implements Tran if (txAttr instanceof DefaultTransactionAttribute) { ((DefaultTransactionAttribute) txAttr).setDescriptor(methodIdentification); } - if (logger.isDebugEnabled()) { - logger.debug("Adding transactional method '" + methodIdentification + "' with attribute: " + txAttr); + if (logger.isTraceEnabled()) { + logger.trace("Adding transactional method '" + methodIdentification + "' with attribute: " + txAttr); } this.attributeCache.put(cacheKey, txAttr); } diff --git a/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java b/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java index ed2c5cb3aa1..aedc0336dd1 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java +++ b/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ package org.springframework.transaction.interceptor; import org.springframework.lang.Nullable; import org.springframework.transaction.support.DefaultTransactionDefinition; +import org.springframework.util.StringUtils; /** * Spring's common transaction attribute implementation. @@ -82,7 +83,7 @@ public class DefaultTransactionAttribute extends DefaultTransactionDefinition im * to process this specific transaction. * @since 3.0 */ - public void setQualifier(String qualifier) { + public void setQualifier(@Nullable String qualifier) { this.qualifier = qualifier; } @@ -141,7 +142,7 @@ public class DefaultTransactionAttribute extends DefaultTransactionDefinition im */ protected final StringBuilder getAttributeDescription() { StringBuilder result = getDefinitionDescription(); - if (this.qualifier != null) { + if (StringUtils.hasText(this.qualifier)) { result.append("; '").append(this.qualifier).append("'"); } return result; diff --git a/spring-tx/src/main/java/org/springframework/transaction/support/DefaultTransactionStatus.java b/spring-tx/src/main/java/org/springframework/transaction/support/DefaultTransactionStatus.java index cfa9443804a..e2188621816 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/support/DefaultTransactionStatus.java +++ b/spring-tx/src/main/java/org/springframework/transaction/support/DefaultTransactionStatus.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2017 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -132,7 +132,7 @@ public class DefaultTransactionStatus extends AbstractTransactionStatus { /** * Return whether the progress of this transaction is debugged. This is used * by AbstractPlatformTransactionManager as an optimization, to prevent repeated - * calls to logger.isDebug(). Not really intended for client code. + * calls to {@code logger.isDebug()}. Not really intended for client code. */ public boolean isDebug() { return this.debug; diff --git a/src/test/java/org/springframework/scheduling/annotation/ScheduledAndTransactionalAnnotationIntegrationTests.java b/src/test/java/org/springframework/scheduling/annotation/ScheduledAndTransactionalAnnotationIntegrationTests.java index f0590fcb3d5..474e41c0a93 100644 --- a/src/test/java/org/springframework/scheduling/annotation/ScheduledAndTransactionalAnnotationIntegrationTests.java +++ b/src/test/java/org/springframework/scheduling/annotation/ScheduledAndTransactionalAnnotationIntegrationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2016 the original author or authors. + * Copyright 2002-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -56,7 +56,7 @@ import static org.mockito.BDDMockito.*; public class ScheduledAndTransactionalAnnotationIntegrationTests { @Before - public void setUp() { + public void assumePerformanceTests() { Assume.group(TestGroup.PERFORMANCE); } @@ -165,7 +165,7 @@ public class ScheduledAndTransactionalAnnotationIntegrationTests { } @Bean - public PersistenceExceptionTranslationPostProcessor peTranslationPostProcessor() { + public static PersistenceExceptionTranslationPostProcessor peTranslationPostProcessor() { return new PersistenceExceptionTranslationPostProcessor(); } } diff --git a/src/test/resources/log4j.properties b/src/test/resources/log4j.properties deleted file mode 100644 index 2b42798a003..00000000000 --- a/src/test/resources/log4j.properties +++ /dev/null @@ -1,5 +0,0 @@ -log4j.appender.console=org.apache.log4j.ConsoleAppender -log4j.appender.console.layout=org.apache.log4j.PatternLayout -log4j.appender.console.layout.ConversionPattern=%d{HH:mm:ss,SSS} [%c] - %m%n - -log4j.rootCategory=WARN, console diff --git a/src/test/resources/log4j2-test.xml b/src/test/resources/log4j2-test.xml new file mode 100644 index 00000000000..df3661a24b1 --- /dev/null +++ b/src/test/resources/log4j2-test.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/test/resources/testlog4j.properties b/src/test/resources/testlog4j.properties deleted file mode 100644 index 15d9af5a58b..00000000000 --- a/src/test/resources/testlog4j.properties +++ /dev/null @@ -1,2 +0,0 @@ -log4j.rootCategory=DEBUG, mock -log4j.appender.mock=org.springframework.util.MockLog4jAppender \ No newline at end of file