Previously, if a failure analyzer threw an exception from its
analyze method, failure analysis would stop.
This commit updates FailureAnalyzers to catch and log any Throwable
thrown by an analyzer and continue to the next available analyzer.
Closes gh-7956
Previously, ErrorPageFilter set the value of
javax.servlet.error.exception_type to be the name of the exception,
(a java.lang.String). This commit changes it to be a java.lang.Class
as required by the Servlet spec.
Closes gh-7925
Upgrade to `hibernate-validator` 5.3.4 and introduce a new
`MessageInterpolatorFactory` that creates a suitable
`MessageInterpolator` (taking into account missing EL dependencies).
Rework `ConfigurationPropertiesBindingPostProcessor` and
`ValidationAutoConfiguration` to make use of the new factory.
Fixes gh-7598
Refine commit 1e9e1b04d0 since it unfortunately had the side-effect of
disabling logging when a valid `log4j2.xml` file was found.
The updated code uses a similar technique but instead of accepting
'*' as a file type it now looks for `.springboot` (which it finds
because we ship a `log4j2.springboot` file in out JAR.
Rather than exiting Log4J2's `ConfigurationFactory.Factory`
`getConfiguration` method early, our `SpringBootConfigurationFactory`
is now only triggered on the last call to `getConfiguration`.
Closes gh-4809
Add a Log4J2 `ConfigurationFactory` that is always applied so that the
"No log4j2 configuration file found" error message does not appear.
Although the message was harmless it was quite annoying to Spring Boot
users who could safely omit the file.
Fixes gh-4809
Update Log4J2 configurations to respect `FILE_LOG_PATTERN` and
`CONSOLE_LOG_PATTERN` system properties. These system properties are
set by `LoggingSystemProperties` from `logging.pattern.file` and
`logging.pattern.console` properties in the Spring Environment.
Fixes gh-7757
Update `JettyEmbeddedServletContainerFactory` to support Jetty 9.4
directly and Jetty 9.3 via reflection. The primary difference between
Jetty 9.3 and 9.4 are the session management classes. Websocket suppport
has also been updates, but this is handled transparently by the
Spring Framework support.
Fixes gh-7599
Update `LoggingApplicationListener` to ignore all `-D` prefixed
property values. As well as catching the Azure use-case, this update
now means Spring Boot application can start when Tomcat is missing
`CATALINA_BASE\conf\logging.properties` and sets the value `-Dnop`.
Closes gh-7639
Previously, if a user specifies a path to a schema or data DDL that does
not exist, the application will start up fine and the missing DDL would
not be reported.
This commit validates that user-defined resources actually exist and
throw a new `ResourceNotFoundException` if they don't.
Closes gh-7088