Browse Source

Polish LogbackRuntimeHintsRegistrar

pull/31304/head
Phillip Webb 4 years ago
parent
commit
a729f71cba
  1. 15
      spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackRuntimeHintsRegistrar.java

15
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/logging/logback/LogbackRuntimeHintsRegistrar.java

@ -62,22 +62,25 @@ import org.springframework.util.ClassUtils; @@ -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) {

Loading…
Cancel
Save