Update Log42JLoggingSystem to register Boot's StatusListener
instead of resetting the fallbackListener during initialization.
This fixes an issue when resetting the fallback listener leads to
closing standard streams.
See gh-44380
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Previously only a servlet-based Jetty server would fail fast when
trying to use SNI with Jetty. A reactive Jetty server just ignored
the configuration. This commit aligns the behavior of the two by
making the reactive server fail fast as well.
Closes gh-44316
This commit adds the stop or destroy failure as a suppressed
exception if either ServletWebServerApplicationContext or
ReactiveWebServerApplicationContext refresh fails.
See gh-44310
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Prior to this commit, if ReactiveWebServerApplicationContext failed to
refresh, only WebServer.stop() was called.
This commit additionally invokes WebServer.destroy(), aligning
the behavior with ServletWebServerApplicationContext when a refresh
failure occurs.
See gh-44134
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Previously, default values for the following properties did not work:
- application.title
- application.formatted-version
- application.version
- spring-boot.formatted-version
- spring-boot.version
Instead of the default value, an empty string was used instead. For
example, ${application.title:Title} would be replaced with "" rather
than "Title" when the application title was unavailable.
This commit improves the ResourceBanner so that a placeholder's
default value is used. An empty string will still be used when no
default value is provided. For example, ${application.title} will
be replaced with "". As before, custom properties that are not
well-known will not be replaced at all. For example
${custom.property} will remain as-is in the printed banner when
the custom.property has not been set.
Fixes gh-44137
Text blocks use \n as their separator on all platforms. Update
withLineSeparatorUsesLineSeparator() to replace \n rather than
System.lineSeparator()
createPrinterWhenStandardAppliesCustomizations() limits the length of
the output. On Windows, the default \r\n line separator uses an
extra byte per separator compared to \n. Configure the printer to use
\n as a line separator so that non-whitespace output is the same on
all platforms.
See gh-43864
Introduce a new `StackTracePrinter` interface (and a standard
implementation) that can be used to print stack traces in a custom
form. The existing `StructuredLoggingJsonProperties` have been updated
with a nested `StackTrace` record that supports common customization
options or allows a custom `StackTracePrinter` to be used.
Closes gh-43864
The config data loader supports the env: prefix and also accepts
extension hints.
Example: env:VAR1[.properties] reads the environment
variable 'VAR1' in properties format (using the
PropertiesPropertySourceLoader).
The PropertySourceLoaders are loaded via spring.factories.
Also adds a smoke test to test it end to end.
Closes gh-41609
Update `ConversionServiceDeducer` so that lambdas can be used with
`@ConfigurationPropertiesBinding` annotated `@Bean` methods.
This commit also allows more converter types to be detected.
Closes gh-44018
Update `ApplicationConversionService` to support beans that are
implemented using lambdas. The updated code now uses the result of
`beanDefinition.getResolvableType()` if the type itself has unresolvable
generics.
See gh-22885
Before this commit, the generated name for the inner class had the
wrong format <package>.<parent>.<child> (canonical name).
GraalVM expects $ to separate the parent from the inner class.
This commit updates SpringBootJoranConfigurator to generate
an appropriate format for a class name. Specifically, an inner class
should be separated by a dollar sign, not a dot.
See gh-44021
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
Remove shouldNotRegisterStructuredLoggingJsonMembersCustomizer...
RuntimeHints since it duplicates shouldNotRegisterStructuredLogging...
JsonMembersCustomizerRuntimeHintsWhenCustomizerIsNotSet
See gh-44013
Signed-off-by: Johnny Lim <izeye@naver.com>