fix(logger): updateAllStrategies now updates future finders too
ci/woodpecker/push/woodpecker Pipeline was successful Details

This commit is contained in:
Johannes Frohnmeyer 2024-03-14 14:29:19 +01:00
parent 6195cfbc83
commit 65b25e85b3
Signed by: Johannes
GPG Key ID: E76429612C2929F4
1 changed files with 7 additions and 5 deletions

View File

@ -11,14 +11,14 @@ import java.util.Set;
*/
public class HotswapLoggerFinder extends LeveledLoggerFinder {
private static final Set<HotswapLoggerFinder> 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;
/**