/** * Initializes the policy. * @param aManager The RollingFileManager. */ @Override public void initialize(final RollingFileManager aManager) { this.manager = aManager; // LOG4J2-531: call getNextTime twice to force initialization of both prevFileTime and nextFileTime aManager.getPatternProcessor().getNextTime(aManager.getFileTime(), interval, modulate); nextRolloverMillis = ThreadLocalRandom.current().nextLong(0, 1 + maxRandomDelayMillis) + aManager.getPatternProcessor().getNextTime(aManager.getFileTime(), interval, modulate); }
/** * Provide the RollingFileManager to the policy. * @param manager The RollingFileManager. */ @Override public void initialize(final RollingFileManager manager) { if (manager.getFileTime() < JVM_START_TIME && manager.getFileSize() >= minSize) { if (minSize == 0) { manager.setRenameEmptyFiles(true); } manager.skipFooter(true); manager.rollover(); manager.skipFooter(false); } }
this.manager = aManager; final Date now = new Date(); final Date lastRollForFile = cronExpression.getPrevFireTime(new Date(this.manager.getFileTime())); final Date lastRegularRoll = cronExpression.getPrevFireTime(new Date()); aManager.getPatternProcessor().setCurrentFileTime(lastRegularRoll.getTime());