Enhance logger factory resetting

This commit is contained in:
Johannes Frohnmeyer 2022-05-09 22:02:06 +02:00
parent b4cb5c3c73
commit 1675f166fa
Signed by: Johannes
GPG Key ID: E76429612C2929F4
2 changed files with 5 additions and 4 deletions

View File

@ -16,7 +16,7 @@ public interface Logger {
}
static void resetFactory() {
LoggerHolder.LOGGER_BUILDER = LoggerHolder.DEFAULT_LOGGER_BUILDER;
LoggerHolder.reset();
}
@Nullable String getName();

View File

@ -11,9 +11,11 @@ import java.util.function.Function;
class LoggerHolder {
public static Function<String, Logger> LOGGER_BUILDER;
public static final Function<String, Logger> DEFAULT_LOGGER_BUILDER;
static {
reset();
}
public static void reset() {
try {
Constructor<Logger> constructor = (Constructor<Logger>) Class.forName("io.gitlab.jfronny.commons.log.SLF4JLogger")
.getConstructor(String.class);
@ -22,6 +24,5 @@ class LoggerHolder {
// SLF4J logger is unavailable, use java.util.logging
LOGGER_BUILDER = JavaUtilLogger::new;
}
DEFAULT_LOGGER_BUILDER = LOGGER_BUILDER;
}
}