Ensure PathResourceResolvers log warnings for non-existent resources
Prior to this commit, the getResource() methods in PathResourceResolver implementations allowed an exception thrown from Resource#getURL() to propagate instead of logging a warning about the missing resource as intended. This commit modifies the getResource() methods in PathResourceResolver implementations so that the log messages include the output of the toString() implementations of the underlying resources instead of their getURL() implementations, which may throw an exception. Furthermore, logging the toString() output of resources aligns with the existing output for "allowed locations" in the same log message. Note that the toString() implementations could potentially also throw exceptions, but that is considered less likely. Closes gh-31623
This commit is contained in:
@@ -195,8 +195,8 @@ public class PathResourceResolver extends AbstractResourceResolver {
|
||||
Resource[] allowed = getAllowedLocations();
|
||||
logger.warn(LogFormatUtils.formatValue(
|
||||
"Resource path \"" + resourcePath + "\" was successfully resolved " +
|
||||
"but resource \"" + resource.getURL() + "\" is neither under " +
|
||||
"the current location \"" + location.getURL() + "\" nor under any of " +
|
||||
"but resource \"" + resource + "\" is neither under " +
|
||||
"the current location \"" + location + "\" nor under any of " +
|
||||
"the allowed locations " + (allowed != null ? Arrays.asList(allowed) : "[]"), -1, true));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user