Ich versuche, Logback Appender-Pfad programmgesteuert festzulegen. (RollingFileAppender mit FixedWindowRollingPolicy um genau zu sein)Logback Appender-Pfad programmgesteuert festlegen
Ich tue dies, weil ich möchte, dass meine Benutzer ermöglichen, den Protokollpfad in einem Einstellungsdialog (Eclipse RCP) zu setzen
ich so etwas wie dies versucht haben, aber ich nicht den Protokollpfad von ändern, was in der Konfigurationsdatei definiert ist:
Logger logback_logger = (ch.qos.logback.classic.Logger)LoggerFactory
.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
RollingFileAppender<ILoggingEvent> rfappender =
(RollingFileAppender<ILoggingEvent>)logback_logger.getAppender("FILE");
rfappender.setFile(newFile);
FixedWindowRollingPolicy rollingPolicy =
(FixedWindowRollingPolicy)rfappender.getRollingPolicy();
rollingPolicy.setFileNamePattern(newPattern);
Die Verwendung des ContextInitializer ist ziemlich falsch. Siehe meine Antwort für den richtigen Ansatz. – Ceki
coole Sachen! Eine Sache, die ich geändert habe: Ich benutze lc.putProperty ("log_path", my_log_path) anstelle von System.setProperty. Es sieht besser aus, da 0 Globals verwendet wurden. – Sasha