From 8817536e5a9243883529ba94f26e3b5a209f0a07 Mon Sep 17 00:00:00 2001 From: rstoyanchev Date: Tue, 17 Mar 2026 19:00:34 +0000 Subject: [PATCH] Lower log level of cache miss in HandlerMappingIntrospector See gh-36309 --- .../web/servlet/handler/HandlerMappingIntrospector.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/HandlerMappingIntrospector.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/HandlerMappingIntrospector.java index 47d28d847e1..0fbdb2fe285 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/HandlerMappingIntrospector.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/HandlerMappingIntrospector.java @@ -518,8 +518,8 @@ public class HandlerMappingIntrospector String message = getLogMessage(label, request); - if (logger.isWarnEnabled() && counter.getAndIncrement() == 0) { - logger.warn(message + " This is logged once only at WARN level, and every time at TRACE."); + if (logger.isDebugEnabled() && counter.getAndIncrement() == 0) { + logger.debug(message + " This is logged once only at DEBUG level, and every time at TRACE."); } else if (logger.isTraceEnabled()) { logger.trace("No CachedResult, performing " + label + " lookup instead."); @@ -529,7 +529,9 @@ public class HandlerMappingIntrospector private static String getLogMessage(String label, HttpServletRequest request) { return "Cache miss for " + request.getDispatcherType() + " dispatch to '" + request.getRequestURI() + "' " + "(previous " + request.getAttribute(CACHED_RESULT_ATTRIBUTE) + "). " + - "Performing " + label + " lookup."; + "Performing " + label + " lookup. If there are repeated lookups per request, " + + "consider using HandlerMappingIntrospector#createCacheFilter()" + + "to create a Servlet Filter to set the cache for the request."; } }