diff --git a/commons-logger/src/main/java/io/gitlab/jfronny/commons/logger/HotswapLoggerFinder.java b/commons-logger/src/main/java/io/gitlab/jfronny/commons/logger/HotswapLoggerFinder.java index b85de42..f6210f7 100644 --- a/commons-logger/src/main/java/io/gitlab/jfronny/commons/logger/HotswapLoggerFinder.java +++ b/commons-logger/src/main/java/io/gitlab/jfronny/commons/logger/HotswapLoggerFinder.java @@ -11,14 +11,14 @@ import java.util.Set; */ public class HotswapLoggerFinder extends LeveledLoggerFinder { private static final Set KNOWN_INSTANCES = new WeakSet<>(); + private static LeveledLoggerFinder DEFAULT_FACTORY = LeveledLoggerFinder.get(StdoutLogger::fancy); + private static System.Logger.Level DEFAULT_LEVEL = System.Logger.Level.INFO; /** * Resets all known instances to use the default logger factory. */ public static void resetAllStrategies() { - for (HotswapLoggerFinder factory : KNOWN_INSTANCES) { - factory.resetStrategy(); - } + updateAllStrategies(StdoutLogger::fancy); } /** @@ -38,6 +38,7 @@ public class HotswapLoggerFinder extends LeveledLoggerFinder { * @param factory the new logger factory to use for all known instances */ public static void updateAllStrategies(LeveledLoggerFinder factory) { + DEFAULT_FACTORY = Objects.requireNonNull(factory); for (HotswapLoggerFinder f : KNOWN_INSTANCES) { f.updateStrategy(factory); } @@ -48,6 +49,7 @@ public class HotswapLoggerFinder extends LeveledLoggerFinder { * @param minimumLevel the new minimum level to use for all known instances */ public static void updateAllDefaultLevels(System.Logger.Level minimumLevel) { + DEFAULT_LEVEL = Objects.requireNonNull(minimumLevel); for (HotswapLoggerFinder f : KNOWN_INSTANCES) { f.updateDefaultLevel(minimumLevel); } @@ -57,8 +59,8 @@ public class HotswapLoggerFinder extends LeveledLoggerFinder { KNOWN_INSTANCES.add(this); } - private LeveledLoggerFinder defaultFactory = LeveledLoggerFinder.get(StdoutLogger::fancy); - private System.Logger.Level minimumLevel = System.Logger.Level.INFO; + private LeveledLoggerFinder defaultFactory = DEFAULT_FACTORY; + private System.Logger.Level minimumLevel = DEFAULT_LEVEL; private int version = 0; /**