[logging-log4j2] branch release-2.x updated: LOG4J2-2542 - CronTriggeringPolicy was not rolling properly, especially when used with the SizeBasedTriggeringPolicy

2019-02-01 Thread rgoers
This is an automated email from the ASF dual-hosted git repository.

rgoers pushed a commit to branch release-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/release-2.x by this push:
 new 42fe68e  LOG4J2-2542 - CronTriggeringPolicy was not rolling properly, 
especially when used with the SizeBasedTriggeringPolicy
42fe68e is described below

commit 42fe68e4394c6fe335f15f9b7320aed83cc0142d
Author: Ralph Goers 
AuthorDate: Fri Feb 1 23:44:23 2019 -0700

LOG4J2-2542 - CronTriggeringPolicy was not rolling properly, especially 
when used with the SizeBasedTriggeringPolicy
---
 .../appender/rolling/CronTriggeringPolicy.java |  5 +-
 .../appender/rolling/DefaultRolloverStrategy.java  |  6 +-
 .../core/appender/rolling/PatternProcessor.java|  4 +-
 .../core/appender/rolling/RollingFileManager.java  |  7 ++
 ...st.java => RollingAppenderCronAndSizeTest.java} | 79 +++---
 .../rolling/RollingAppenderTimeAndSizeTest.java| 45 +---
 ...olling3.xml => log4j-rolling-cron-and-size.xml} | 25 ---
 log4j-core/src/test/resources/log4j-rolling3.xml   |  8 +--
 src/site/xdoc/manual/appenders.xml | 10 ++-
 9 files changed, 131 insertions(+), 58 deletions(-)

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 060e7fa..14997e1 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
@@ -145,10 +145,7 @@ 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.rollover();
+   manager.rollover(cronExpression.getPrevFireTime(new Date()), 
lastRollDate);
 if (future != null) {
 lastRollDate = future.getFireTime();
 }
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java
index 335018e..6dff555 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java
@@ -517,9 +517,11 @@ public class DefaultRolloverStrategy extends 
AbstractRolloverStrategy {
 @Override
 public RolloverDescription rollover(final RollingFileManager manager) 
throws SecurityException {
 int fileIndex;
+   final StringBuilder buf = new StringBuilder(255);
 if (minIndex == Integer.MIN_VALUE) {
 final SortedMap eligibleFiles = 
getEligibleFiles(manager);
 fileIndex = eligibleFiles.size() > 0 ? eligibleFiles.lastKey() + 1 
: 1;
+   
manager.getPatternProcessor().formatFileName(strSubstitutor, buf, fileIndex);
 } else {
 if (maxIndex < 0) {
 return null;
@@ -529,13 +531,13 @@ public class DefaultRolloverStrategy extends 
AbstractRolloverStrategy {
 if (fileIndex < 0) {
 return null;
 }
+   
manager.getPatternProcessor().formatFileName(strSubstitutor, buf, fileIndex);
 if (LOGGER.isTraceEnabled()) {
 final double durationMillis = 
TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startNanos);
 LOGGER.trace("DefaultRolloverStrategy.purge() took {} 
milliseconds", durationMillis);
 }
 }
-final StringBuilder buf = new StringBuilder(255);
-manager.getPatternProcessor().formatFileName(strSubstitutor, buf, 
fileIndex);
+
 final String currentFileName = manager.getFileName();
 
 String renameTo = buf.toString();
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 f1231fd..6d1fb7e 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
@@ -213,7 +213,9 @@ public class PatternProcessor {
 }
 
 public void updateTime() {
-prevFileTime = nextFileTime;
+   if (nextFileTime != 0) {
+   prevFileTime = nextFileTime;
+   }
 }
 
 private long

[logging-log4j2] branch master updated (0eee167 -> 4745d96)

2019-02-01 Thread rgoers
This is an automated email from the ASF dual-hosted git repository.

rgoers pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git.


from 0eee167  LOG4J2-2266 - Load PropertySources from any accessible 
ClassLoader and handle any exceptions
 new 0dba9b3  LOG4J2-2542 - CronTriggeringPolicy was not rolling properly, 
especially when used with the SizeBasedTriggeringPolicy
 new 4745d96  LOG4J2-2542 - CronTriggeringPolicy was not rolling properly, 
especially when used with the SizeBasedTriggeringPolicy

The 10527 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../appender/rolling/CronTriggeringPolicy.java |  6 +-
 .../appender/rolling/DefaultRolloverStrategy.java  |  6 +-
 .../core/appender/rolling/PatternProcessor.java|  4 +-
 .../core/appender/rolling/RollingFileManager.java  |  7 ++
 ...st.java => RollingAppenderCronAndSizeTest.java} | 79 +++---
 .../rolling/RollingAppenderTimeAndSizeTest.java| 45 +---
 ...g-cron2.xml => log4j-rolling-cron-and-size.xml} | 14 ++--
 log4j-core/src/test/resources/log4j-rolling3.xml   |  8 +--
 src/site/asciidoc/manual/appenders.adoc| 11 ++-
 9 files changed, 126 insertions(+), 54 deletions(-)
 copy 
log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/{RollingAppenderTimeAndSizeTest.java
 => RollingAppenderCronAndSizeTest.java} (53%)
 copy log4j-core/src/test/resources/{log4j-rolling-cron2.xml => 
log4j-rolling-cron-and-size.xml} (78%)



[logging-log4j2] branch master updated: LOG4J2-2542 - CronTriggeringPolicy was not rolling properly, especially when used with the SizeBasedTriggeringPolicy

2019-02-01 Thread rgoers
This is an automated email from the ASF dual-hosted git repository.

rgoers pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/master by this push:
 new cea5efb  LOG4J2-2542 - CronTriggeringPolicy was not rolling properly, 
especially when used with the SizeBasedTriggeringPolicy
cea5efb is described below

commit cea5efb1209de98461037cd6debd0f2b44da75ba
Author: Ralph Goers 
AuthorDate: Fri Feb 1 23:51:10 2019 -0700

LOG4J2-2542 - CronTriggeringPolicy was not rolling properly, especially 
when used with the SizeBasedTriggeringPolicy
---
 src/changes/changes.xml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 54d74b4..820a015 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -354,6 +354,9 @@
   
 
 
+  
+CronTriggeringPolicy was not rolling properly, especially when used 
with the SizeBasedTriggeringPolicy.
+  
   
 Load PropertySources from any accessible ClassLoader. Hide any 
exceptions that may occur accessing a PropertySource.
   



[logging-log4j2] branch release-2.x updated: LOG4J2-2542 - CronTriggeringPolicy was not rolling properly, especially when used with the SizeBasedTriggeringPolicy

2019-02-01 Thread rgoers
This is an automated email from the ASF dual-hosted git repository.

rgoers pushed a commit to branch release-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/release-2.x by this push:
 new bde8e23  LOG4J2-2542 - CronTriggeringPolicy was not rolling properly, 
especially when used with the SizeBasedTriggeringPolicy
bde8e23 is described below

commit bde8e23f8adfa114de676b84576e67d9f22f09b5
Author: Ralph Goers 
AuthorDate: Fri Feb 1 23:51:33 2019 -0700

LOG4J2-2542 - CronTriggeringPolicy was not rolling properly, especially 
when used with the SizeBasedTriggeringPolicy
---
 src/changes/changes.xml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 071b1df..ee56be5 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -31,6 +31,9 @@
  - "remove" - Removed
 -->
 
+  
+CronTriggeringPolicy was not rolling properly, especially when used 
with the SizeBasedTriggeringPolicy.
+  
   
 Load PropertySources from any accessible ClassLoader. Hide any 
exceptions that may occur accessing a PropertySource.