diff --git a/core/src/net/sf/openrocket/logging/LoggingSystemSetup.java b/core/src/net/sf/openrocket/logging/LoggingSystemSetup.java index ffdcc63d7..baa3e0f64 100644 --- a/core/src/net/sf/openrocket/logging/LoggingSystemSetup.java +++ b/core/src/net/sf/openrocket/logging/LoggingSystemSetup.java @@ -2,6 +2,7 @@ package net.sf.openrocket.logging; import org.slf4j.LoggerFactory; +import ch.qos.logback.classic.Level; import ch.qos.logback.classic.Logger; import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.encoder.PatternLayoutEncoder; @@ -35,6 +36,18 @@ public class LoggingSystemSetup { logger.addAppender(appender); } + public static void setupLoggingAppender() { + Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); + logger.detachAndStopAllAppenders(); + logger.setLevel(Level.TRACE); + LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); + LogbackBufferLoggerAdaptor appender = new LogbackBufferLoggerAdaptor(); + appender.setName("buffer"); + appender.setContext(context); + appender.start(); + logger.addAppender(appender); + } + /** * Get the logger to be used in logging. * diff --git a/core/src/net/sf/openrocket/startup/Application.java b/core/src/net/sf/openrocket/startup/Application.java index b08d106e1..fe65093ab 100644 --- a/core/src/net/sf/openrocket/startup/Application.java +++ b/core/src/net/sf/openrocket/startup/Application.java @@ -8,7 +8,6 @@ import net.sf.openrocket.l10n.ClassBasedTranslator; import net.sf.openrocket.l10n.DebugTranslator; import net.sf.openrocket.l10n.ExceptionSuppressingTranslator; import net.sf.openrocket.l10n.Translator; -import net.sf.openrocket.logging.LogLevel; import com.google.inject.Injector; @@ -29,11 +28,6 @@ public final class Application { private static Injector injector; - // Initialize the logger to something sane for testing without executing Startup - static { - setLogOutputLevel(LogLevel.DEBUG); - } - /** * Return whether to use additional safety code checks. */ @@ -51,24 +45,6 @@ public final class Application { } - /** - * Set the logging to output the specified log level and upwards to standard output. - * - * @param level the minimum logging level to output. - */ - public static void setLogOutputLevel(LogLevel level) { - // FIXME - /* - logger = new PrintStreamLogger(); - for (LogLevel l : LogLevel.values()) { - if (l.atLeast(level)) { - ((PrintStreamLogger) logger).setOutput(l, System.out); - } - } - */ - } - - /** * Return the translator to use for obtaining translated strings. * @return a translator. diff --git a/core/src/net/sf/openrocket/startup/GuiceStartup.java b/core/src/net/sf/openrocket/startup/GuiceStartup.java index 8b09d66aa..589224fd3 100644 --- a/core/src/net/sf/openrocket/startup/GuiceStartup.java +++ b/core/src/net/sf/openrocket/startup/GuiceStartup.java @@ -9,9 +9,7 @@ import net.sf.openrocket.l10n.DebugTranslator; import net.sf.openrocket.l10n.L10N; import net.sf.openrocket.l10n.ResourceBundleTranslator; import net.sf.openrocket.l10n.Translator; -import net.sf.openrocket.logging.LogLevel; import net.sf.openrocket.logging.LoggingSystemSetup; -import net.sf.openrocket.logging.PrintStreamLogger; import net.sf.openrocket.logging.PrintStreamToSLF4J; import net.sf.openrocket.plugin.PluginModule; @@ -90,6 +88,8 @@ public class GuiceStartup { * Initializes the logging system. */ public static void initializeLogging() { + LoggingSystemSetup.setupLoggingAppender(); + if (System.getProperty("openrocket.debug") != null) { LoggingSystemSetup.addConsoleAppender(); } @@ -100,23 +100,6 @@ public class GuiceStartup { System.setErr(PrintStreamToSLF4J.getPrintStream("STDERR", stdErr)); } - private static boolean setLogOutput(PrintStreamLogger logger, PrintStream stream, String level, LogLevel defaultLevel) { - LogLevel minLevel = LogLevel.fromString(level, defaultLevel); - if (minLevel == null) { - return false; - } - - for (LogLevel l : LogLevel.values()) { - if (l.atLeast(minLevel)) { - logger.setOutput(l, stream); - } - } - return true; - } - - - - /** * Initializes the localization system. */ diff --git a/core/src/net/sf/openrocket/utils/MotorCorrelation.java b/core/src/net/sf/openrocket/utils/MotorCorrelation.java index 758fbc409..44261a104 100644 --- a/core/src/net/sf/openrocket/utils/MotorCorrelation.java +++ b/core/src/net/sf/openrocket/utils/MotorCorrelation.java @@ -8,12 +8,10 @@ import java.util.List; import net.sf.openrocket.file.motor.GeneralMotorLoader; import net.sf.openrocket.file.motor.MotorLoader; -import net.sf.openrocket.logging.LogLevel; import net.sf.openrocket.models.atmosphere.AtmosphericConditions; import net.sf.openrocket.motor.Motor; import net.sf.openrocket.motor.MotorInstance; import net.sf.openrocket.motor.ThrustCurveMotor; -import net.sf.openrocket.startup.Application; import net.sf.openrocket.util.BugException; import net.sf.openrocket.util.MathUtil; @@ -98,10 +96,9 @@ public class MotorCorrelation { } - - + + public static void main(String[] args) { - Application.setLogOutputLevel(LogLevel.WARN); MotorLoader loader = new GeneralMotorLoader(); List motors = new ArrayList(); diff --git a/core/src/net/sf/openrocket/utils/RocksimConverter.java b/core/src/net/sf/openrocket/utils/RocksimConverter.java index ed46cef5b..8a3ac1a0b 100644 --- a/core/src/net/sf/openrocket/utils/RocksimConverter.java +++ b/core/src/net/sf/openrocket/utils/RocksimConverter.java @@ -11,7 +11,6 @@ import net.sf.openrocket.file.GeneralRocketSaver; import net.sf.openrocket.file.RocketLoadException; import net.sf.openrocket.gui.util.SwingPreferences; import net.sf.openrocket.l10n.ResourceBundleTranslator; -import net.sf.openrocket.logging.LogLevel; import net.sf.openrocket.startup.Application; /** @@ -78,7 +77,6 @@ public class RocksimConverter { Locale.setDefault(Locale.US); Application.setBaseTranslator(new ResourceBundleTranslator("l10n.messages")); - Application.setLogOutputLevel(LogLevel.WARN); Application.setPreferences(new SwingPreferences()); } }