@Test public void createRollingPolicy_defaults() { LoggerContext ctx = underTest.getRootContext(); LogbackHelper.RollingPolicy policy = underTest.createRollingPolicy(ctx, props, "sonar"); FileAppender appender = policy.createAppender("SONAR_FILE"); assertThat(appender).isInstanceOf(RollingFileAppender.class); // max 5 daily files RollingFileAppender fileAppender = (RollingFileAppender) appender; TimeBasedRollingPolicy triggeringPolicy = (TimeBasedRollingPolicy) fileAppender.getTriggeringPolicy(); assertThat(triggeringPolicy.getMaxHistory()).isEqualTo(7); assertThat(triggeringPolicy.getFileNamePattern()).endsWith("sonar.%d{yyyy-MM-dd}.log"); }
@Test public void createRollingPolicy_time() { props.set("sonar.log.rollingPolicy", "time:yyyy-MM"); props.set("sonar.log.maxFiles", "20"); LoggerContext ctx = underTest.getRootContext(); LogbackHelper.RollingPolicy policy = underTest.createRollingPolicy(ctx, props, "sonar"); RollingFileAppender appender = (RollingFileAppender) policy.createAppender("SONAR_FILE"); // max 5 monthly files TimeBasedRollingPolicy triggeringPolicy = (TimeBasedRollingPolicy) appender.getTriggeringPolicy(); assertThat(triggeringPolicy.getMaxHistory()).isEqualTo(20); assertThat(triggeringPolicy.getFileNamePattern()).endsWith("sonar.%d{yyyy-MM}.log"); }
public void setAppender(Appender<?> appender) { super.setAppender(appender); if (appender instanceof RollingFileAppender) { RollingPolicy rp = ((RollingFileAppender<?>)appender).getRollingPolicy(); if (rp instanceof TimeBasedRollingPolicy) { fileNamePattern = ((TimeBasedRollingPolicy)rp).getFileNamePattern(); } else { throw new UnsupportedOperationException("Must be TimeBasedRollingPolicy!"); } } else { throw new RuntimeException( "MultipleFileLogReader appender must be an instance of RollingFileAppender!"); } }
public void setAppender(Appender<?> appender) { super.setAppender(appender); if (appender instanceof RollingFileAppender) { RollingPolicy rp = ((RollingFileAppender<?>)appender).getRollingPolicy(); if (rp instanceof TimeBasedRollingPolicy) { fileNamePattern = ((TimeBasedRollingPolicy)rp).getFileNamePattern(); } else { throw new UnsupportedOperationException("Must be TimeBasedRollingPolicy!"); } } else { throw new RuntimeException( "MultipleFileLogReader appender must be an instance of RollingFileAppender!"); } }
@Override public void start() { String fileNamePattern = super.getFileNamePattern(); if (fileNamePattern.endsWith(".log") || fileNamePattern.endsWith(".LOG")) { fileNamePattern = fileNamePattern.substring(0, fileNamePattern.length() - 4) + "-" + Lang.JdkTool.getProcessId("0") + ".log"; } else { fileNamePattern = fileNamePattern + "-" + Lang.JdkTool.getProcessId("0") + ".log"; } super.setFileNamePattern(fileNamePattern); super.start(); } }
@Override protected ArchiveRemover createArchiveRemover() { return new CustomSizeAndTimeBasedArchiveRemover( new FileNamePattern(this.tbrp.getFileNamePattern(), this.context), this.rc); }
private static final String LOG4J_ROLLING_FILE_NAME_TOKEN = "Launcher"; /* * Change the name of the the log file as configured through log4j.xml * by replacing the placeholder file name token ("Launcher") with the * a new "actionName". */ private static void log4jConfig(String actionName) { org.apache.log4j.Logger rootLogger = LogManager.getRootLogger(); RollingFileAppender fileAppender = (RollingFileAppender)rootLogger.getAppender("fileAppender"); // <param name="FileNamePattern" value="/var/log/Launcher.log.%d{yyyy-MM-dd}.gz"/> String currentLogFile = fileAppender.getFile(); String newLogPattern = currentLogFile.replace(LOG4J_ROLLING_FILE_NAME_TOKEN, actionName); fileAppender.setFile(newLogPattern); TimeBasedRollingPolicy timeBasedRollingPolicy = (TimeBasedRollingPolicy) fileAppender.getRollingPolicy(); String fileNamePattern = timeBasedRollingPolicy.getFileNamePattern(); String newFileNamePattern = fileNamePattern.replace(LOG4J_ROLLING_FILE_NAME_TOKEN, actionName);; timeBasedRollingPolicy.setFileNamePattern(newFileNamePattern); timeBasedRollingPolicy.activateOptions(); fileAppender.activateOptions(); LOG.info(" Redirected launcher log output to log pattern: " + newFileNamePattern); }
TimeBasedRollingPolicy<ILoggingEvent> rollingPolicy = (TimeBasedRollingPolicy<ILoggingEvent>) rollingApp.getRollingPolicy(); app.setRollingPolicyType("TimeBasedRollingPolicy"); app.setFileNamePattern(rollingPolicy.getFileNamePattern()); app.setMaxHistory(rollingPolicy.getMaxHistory()); app.setCleanHistoryOnStart(rollingPolicy.isCleanHistoryOnStart());
rollingPolicy.setFileNamePattern(filename + "-%d{yyyy-MM-dd}.%i.log"); if (compressionEnabled) { rollingPolicy.setFileNamePattern(rollingPolicy.getFileNamePattern() + ".gz");
rollingPolicy.setFileNamePattern(filename + "-%d{yyyy-MM-dd}.%i.log"); if (compressionEnabled) { rollingPolicy.setFileNamePattern(rollingPolicy.getFileNamePattern() + ".gz");