Memory debug logging now based on config setting

This commit is contained in:
Rsl1122 2019-01-17 10:37:54 +02:00
parent 11dc8cab0d
commit 88fd623718

View File

@ -75,7 +75,9 @@ public abstract class ConfigSystem implements SubSystem {
copyDefaults(); copyDefaults();
config.save(); config.save();
setDebugMode(); if (logger.getDebugLogger() instanceof CombineDebugLogger) {
setDebugMode();
}
} catch (IOException e) { } catch (IOException e) {
throw new EnableException("Failed to save default config.", e); throw new EnableException("Failed to save default config.", e);
} }
@ -83,20 +85,21 @@ public abstract class ConfigSystem implements SubSystem {
} }
private void setDebugMode() { private void setDebugMode() {
CombineDebugLogger debugLogger = (CombineDebugLogger) logger.getDebugLogger();
String debugMode = config.get(PluginSettings.DEBUG); String debugMode = config.get(PluginSettings.DEBUG);
List<DebugLogger> loggers = new ArrayList<>(); List<DebugLogger> loggers = new ArrayList<>();
if (Verify.equalsOne(debugMode, "true", "both", "console")) { if (Verify.containsOne(debugMode, "true", "both", "all", "console")) {
loggers.add(new ConsoleDebugLogger(logger)); loggers.add(new ConsoleDebugLogger(logger));
} }
if (Verify.equalsOne(debugMode, "true", "both", "file")) { if (Verify.containsOne(debugMode, "true", "both", "all", "file")) {
loggers.add(new FolderTimeStampFileDebugLogger(files.getLogsFolder(), () -> errorHandler)); loggers.add(new FolderTimeStampFileDebugLogger(files.getLogsFolder(), () -> errorHandler));
} }
if (logger.getDebugLogger() instanceof CombineDebugLogger) { if (Verify.containsOne(debugMode, "true", "both", "all", "memory")) {
CombineDebugLogger debugLogger = (CombineDebugLogger) logger.getDebugLogger();
loggers.add(debugLogger.getDebugLogger(MemoryDebugLogger.class).orElse(new MemoryDebugLogger())); loggers.add(debugLogger.getDebugLogger(MemoryDebugLogger.class).orElse(new MemoryDebugLogger()));
debugLogger.setDebugLoggers(loggers.toArray(new DebugLogger[0]));
} }
debugLogger.setDebugLoggers(loggers.toArray(new DebugLogger[0]));
} }
/** /**