Hello, I am trying to test RollingFile/Policies/CronTriggeringPolicy with 2.6.2, but facing a strange behavior:
==> After first run it call rollover() every time. It looks there is a regression in the code according to https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=blobdiff;f=log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java;h=744ed249221a04b0ac53d6867e1209b5a7d1d63b;hp=3364ca4f6ffde1afccbaffd1ac11266f5ad0783f;hb=HEAD;hpb=10f724f3043852ce7a70bbfa32fa460471a72f5d final Date fireDate = cronExpression.getNextValidTimeAfter(now); Was replaced by: Date fireDate = cronExpression.getNextInvalidTimeAfter(new Date()); Could you please confirm my analysis, see patch attached.
commit 1faa0ba25ef5690465c57d0e4c0e7e637b71ddb6 Author: phymbert <[email protected]> Date: Mon Aug 22 17:17:33 2016 +0300 Fix Regression in ConfigurationScheduler diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java index 744ed24..e6291f9 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java @@ -182,7 +182,7 @@ public class ConfigurationScheduler extends AbstractLifeCycle { } catch(final Throwable ex) { LOGGER.error("Error running command", ex); } finally { - Date fireDate = cronExpression.getNextInvalidTimeAfter(new Date()); + Date fireDate = cronExpression.getNextValidTimeAfter(new Date()); final ScheduledFuture<?> future = schedule(this, nextFireInterval(fireDate), TimeUnit.MILLISECONDS); scheduledFuture.reset(future, fireDate); }
--------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
