diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java index 6eb3e5050..697369cb1 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java @@ -67,7 +67,6 @@ public final class CronTriggeringPolicy extends AbstractTriggeringPolicy { 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()); LOGGER.debug("LastRollForFile {}, LastRegularRole {}", lastRollForFile, lastRegularRoll); aManager.getPatternProcessor().setPrevFileTime(lastRegularRoll.getTime()); if (checkOnStartup && lastRollForFile != null && lastRegularRoll != null && @@ -145,9 +144,8 @@ public final class CronTriggeringPolicy extends AbstractTriggeringPolicy { } private void rollover() { - manager.getPatternProcessor().setPrevFileTime(lastRollDate.getTime()); final Date thisRoll = cronExpression.getPrevFireTime(new Date()); - manager.getPatternProcessor().setCurrentFileTime(thisRoll.getTime()); + manager.getPatternProcessor().setPrevFileTime(thisRoll.getTime()); manager.rollover(); if (future != null) { lastRollDate = future.getFireTime(); diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java index b1ee506fc..9a7f3457e 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java @@ -315,7 +315,7 @@ public class DirectWriteRolloverStrategy extends AbstractRolloverStrategy implem final SortedMap eligibleFiles = getEligibleFiles(manager); final int fileIndex = eligibleFiles.size() > 0 ? (nextIndex > 0 ? nextIndex : eligibleFiles.size()) : 1; final StringBuilder buf = new StringBuilder(255); - manager.getPatternProcessor().formatFileName(strSubstitutor, buf, true, fileIndex); + manager.getPatternProcessor().formatFileName(strSubstitutor, buf, fileIndex); final int suffixLength = suffixLength(buf.toString()); final String name = suffixLength > 0 ? buf.substring(0, buf.length() - suffixLength) : buf.toString(); currentFileName = name; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessor.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessor.java index b5a5aa3a7..06d075791 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessor.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessor.java @@ -55,7 +55,6 @@ public class PatternProcessor { private long prevFileTime = 0; private long nextFileTime = 0; - private long currentFileTime = 0; private RolloverFrequency frequency = null; @@ -103,15 +102,6 @@ public class PatternProcessor { this(pattern); this.prevFileTime = copy.prevFileTime; this.nextFileTime = copy.nextFileTime; - this.currentFileTime = copy.currentFileTime; - } - - public long getCurrentFileTime() { - return currentFileTime; - } - - public void setCurrentFileTime(final long currentFileTime) { - this.currentFileTime = currentFileTime; } public long getPrevFileTime() { @@ -233,19 +223,6 @@ public class PatternProcessor { cal.add(type, interval); } - /** - * Format file name. - * @param buf string buffer to which formatted file name is appended, may not be null. - * @param obj object to be evaluated in formatting, may not be null. - */ - public final void formatFileName(final StringBuilder buf, final boolean useCurrentTime, final Object obj) { - long time = useCurrentTime ? currentFileTime : prevFileTime; - if (time == 0) { - time = System.currentTimeMillis(); - } - formatFileName(buf, new Date(time), obj); - } - /** * Formats file name. * @param subst The StrSubstitutor. @@ -253,21 +230,7 @@ public class PatternProcessor { * @param obj object to be evaluated in formatting, may not be null. */ public final void formatFileName(final StrSubstitutor subst, final StringBuilder buf, final Object obj) { - formatFileName(subst, buf, false, obj); - } - - /** - * Formats file name. - * @param subst The StrSubstitutor. - * @param buf string buffer to which formatted file name is appended, may not be null. - * @param obj object to be evaluated in formatting, may not be null. - */ - public final void formatFileName(final StrSubstitutor subst, final StringBuilder buf, final boolean useCurrentTime, - final Object obj) { - // LOG4J2-628: we deliberately use System time, not the log4j.Clock time - // for creating the file name of rolled-over files. - final long time = useCurrentTime && currentFileTime != 0 ? currentFileTime : - prevFileTime != 0 ? prevFileTime : System.currentTimeMillis(); + final long time = prevFileTime != 0 ? prevFileTime : System.currentTimeMillis(); formatFileName(buf, new Date(time), obj); final LogEvent event = new Log4jLogEvent.Builder().setTimeMillis(time).build(); final String fileName = subst.replace(event, buf);