Skip to content

Commit c2b702e

Browse files
authored
Merge pull request #42 from mhalbritter/mh/logback-slf4j
Make sure that org.slf4j.impl.StaticLoggerBinder is available
2 parents 07d4fd8 + 1b7caf2 commit c2b702e

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

metadata/ch.qos.logback/logback-classic/1.2.11/reflect-config.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,5 +292,8 @@
292292
},
293293
"name": "ch.qos.logback.core.pattern.color.YellowCompositeConverter",
294294
"allPublicConstructors": true
295+
},
296+
{
297+
"name": "org.slf4j.impl.StaticLoggerBinder"
295298
}
296299
]

tests/src/ch.qos.logback/logback-classic/1.2.11/src/test/java/org/graalvm/logback/LogbackTests.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import ch.qos.logback.core.ConsoleAppender;
2020
import org.junit.jupiter.api.AfterEach;
2121
import org.junit.jupiter.api.BeforeEach;
22+
import org.junit.jupiter.api.Test;
2223
import org.junit.jupiter.params.ParameterizedTest;
2324
import org.junit.jupiter.params.provider.Arguments;
2425
import org.junit.jupiter.params.provider.MethodSource;
@@ -55,6 +56,21 @@ void shouldRegisterConverter(String converterName, String pattern) {
5556
cleanUp(encoder, consoleAppender, logger);
5657
}
5758

59+
@Test
60+
void slf4jCanBeDetected() {
61+
boolean slf4jAvailable = isClassPresent("org.slf4j.Logger") && (isClassPresent("org.slf4j.impl.StaticLoggerBinder") || isClassPresent("org.slf4j.spi.SLF4JServiceProvider"));
62+
assertThat(slf4jAvailable).isTrue();
63+
}
64+
65+
private boolean isClassPresent(String className) {
66+
try {
67+
Class.forName(className);
68+
return true;
69+
} catch (ClassNotFoundException ex) {
70+
return false;
71+
}
72+
}
73+
5874
private static Stream<Arguments> converterSource() {
5975
return PatternLayout.DEFAULT_CONVERTER_MAP.entrySet().stream()
6076
.map(entry -> Arguments.of(entry.getValue(), entry.getKey()));

0 commit comments

Comments
 (0)