diff --git a/build.gradle b/build.gradle index ff7da74e15..d415302525 100644 --- a/build.gradle +++ b/build.gradle @@ -168,7 +168,7 @@ configure(allprojects) { project -> } dependency "org.testng:testng:7.4.0" dependency "org.junit.support:testng-engine:1.0.1" - dependency "org.hamcrest:hamcrest:2.1" + dependency "org.hamcrest:hamcrest:2.2" dependency "org.awaitility:awaitility:3.1.6" dependency "org.assertj:assertj-core:3.23.1" dependencySet(group: 'org.xmlunit', version: '2.9.0') { diff --git a/spring-context/src/main/java/org/springframework/cache/interceptor/LoggingCacheErrorHandler.java b/spring-context/src/main/java/org/springframework/cache/interceptor/LoggingCacheErrorHandler.java index e2f6c33127..d13a1cb8e2 100644 --- a/spring-context/src/main/java/org/springframework/cache/interceptor/LoggingCacheErrorHandler.java +++ b/spring-context/src/main/java/org/springframework/cache/interceptor/LoggingCacheErrorHandler.java @@ -24,36 +24,55 @@ import org.springframework.lang.Nullable; import org.springframework.util.Assert; /** - * A {@link CacheErrorHandler} implementation that logs error message. Can be - * used when underlying cache errors should be ignored. + * A {@link CacheErrorHandler} implementation that logs error messages. + * + *

Can be used when underlying cache errors should be ignored. * * @author Adam Ostrožlík * @author Stephane Nicoll + * @author Vedran Pavic + * @author Sam Brannen * @since 5.3.16 */ public class LoggingCacheErrorHandler implements CacheErrorHandler { private final Log logger; - private final boolean logStacktrace; + private final boolean logStackTraces; /** - * Create an instance with the {@link Log logger} to use. - * @param logger the logger to use - * @param logStacktrace whether to log stack trace + * Create a {@code LoggingCacheErrorHandler} that uses the default logging + * category and does not log stack traces. + *

The default logging category is + * "{@code org.springframework.cache.interceptor.LoggingCacheErrorHandler}". */ - public LoggingCacheErrorHandler(Log logger, boolean logStacktrace) { - Assert.notNull(logger, "Logger must not be null"); - this.logger = logger; - this.logStacktrace = logStacktrace; + public LoggingCacheErrorHandler() { + this(false); } /** - * Create an instance that does not log stack traces. + * Create a {@code LoggingCacheErrorHandler} that uses the default logging + * category and the supplied {@code logStackTraces} flag. + *

The default logging category is + * "{@code org.springframework.cache.interceptor.LoggingCacheErrorHandler}". + * @param logStackTraces whether to log stack traces + * @since 5.3.22 */ - public LoggingCacheErrorHandler() { - this(LogFactory.getLog(LoggingCacheErrorHandler.class), false); + public LoggingCacheErrorHandler(boolean logStackTraces) { + this(LogFactory.getLog(LoggingCacheErrorHandler.class), logStackTraces); + } + + /** + * Create a {@code LoggingCacheErrorHandler} that uses the supplied + * {@link Log logger} and {@code logStackTraces} flag. + * @param logger the logger to use + * @param logStackTraces whether to log stack traces + */ + public LoggingCacheErrorHandler(Log logger, boolean logStackTraces) { + Assert.notNull(logger, "'logger' must not be null"); + this.logger = logger; + this.logStackTraces = logStackTraces; } @@ -90,7 +109,7 @@ public class LoggingCacheErrorHandler implements CacheErrorHandler { * @param ex the exception */ protected void logCacheError(Log logger, String message, RuntimeException ex) { - if (this.logStacktrace) { + if (this.logStackTraces) { logger.warn(message, ex); } else {