Polish LogbackRuntimeHintsRegistrar

This commit is contained in:
Phillip Webb
2022-06-08 19:10:00 -07:00
parent e8f9386594
commit a729f71cba

View File

@@ -62,22 +62,25 @@ import org.springframework.util.ClassUtils;
*/
class LogbackRuntimeHintsRegistrar implements RuntimeHintsRegistrar {
private static final Consumer<Builder> DEFAULT_HINT = (hint) -> {
};
@Override
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
if (!ClassUtils.isPresent("ch.qos.logback.classic.LoggerContext", classLoader)) {
return;
}
ReflectionHints reflection = hints.reflection();
registerHintsForLogbackLoggingSystemTypeChecks(reflection);
registerHintsForLogbackLoggingSystemTypeChecks(reflection, classLoader);
registerHintsForBuiltInLogbackConverters(reflection);
registerHintsForSpringBootConverters(reflection);
}
private void registerHintsForLogbackLoggingSystemTypeChecks(ReflectionHints reflection) {
Consumer<Builder> defaultHint = (hint) -> {
};
reflection.registerType(LoggerContext.class, defaultHint);
reflection.registerType(SLF4JBridgeHandler.class, defaultHint);
private void registerHintsForLogbackLoggingSystemTypeChecks(ReflectionHints reflection, ClassLoader classLoader) {
reflection.registerType(LoggerContext.class, DEFAULT_HINT);
if (ClassUtils.isPresent("org.slf4j.bridge.SLF4JBridgeHandler", classLoader)) {
reflection.registerType(SLF4JBridgeHandler.class, DEFAULT_HINT);
}
}
private void registerHintsForBuiltInLogbackConverters(ReflectionHints reflection) {