You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by mi...@apache.org on 2016/01/12 17:50:56 UTC

[48/50] logging-log4j2 git commit: [LOG4J2-1232] Incorrect log rotation in last week of year.

[LOG4J2-1232] Incorrect log rotation in last week of year.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/9d1ffa7e
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/9d1ffa7e
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/9d1ffa7e

Branch: refs/heads/LOG4J-1181
Commit: 9d1ffa7e4683b16c653a6fe3f2f3093662526cb2
Parents: 6971f58
Author: ggregory <gg...@apache.org>
Authored: Mon Jan 11 10:36:11 2016 -0800
Committer: ggregory <gg...@apache.org>
Committed: Mon Jan 11 10:36:11 2016 -0800

----------------------------------------------------------------------
 .../log4j/core/appender/rolling/PatternProcessor.java        | 6 ++++++
 .../log4j/core/appender/rolling/PatternProcessorTest.java    | 8 +++++---
 src/changes/changes.xml                                      | 3 +++
 3 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9d1ffa7e/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessor.java
----------------------------------------------------------------------
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 fbc74b4..af5bcdb 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
@@ -88,6 +88,10 @@ public class PatternProcessor {
      * @return the next potential rollover time and the timestamp for the target file.
      */
     public long getNextTime(final long currentMillis, final int increment, final boolean modulus) {
+        //
+        // https://issues.apache.org/jira/browse/LOG4J2-1232
+        // Call setMinimalDaysInFirstWeek(7);
+        //
         prevFileTime = nextFileTime;
         long nextTime;
 
@@ -97,6 +101,8 @@ public class PatternProcessor {
         final Calendar currentCal = Calendar.getInstance();
         currentCal.setTimeInMillis(currentMillis);
         final Calendar cal = Calendar.getInstance();
+        currentCal.setMinimalDaysInFirstWeek(7);
+        cal.setMinimalDaysInFirstWeek(7);
         cal.set(currentCal.get(Calendar.YEAR), 0, 1, 0, 0, 0);
         cal.set(Calendar.MILLISECOND, 0);
         if (frequency == RolloverFrequency.ANNUALLY) {

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9d1ffa7e/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessorTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessorTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessorTest.java
index 58b27d9..3b9e22a 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessorTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessorTest.java
@@ -236,8 +236,10 @@ public class PatternProcessorTest {
         }
     }
 
+    /**
+     * Tests https://issues.apache.org/jira/browse/LOG4J2-1232
+     */
     @Test
-    @Ignore("https://issues.apache.org/jira/browse/LOG4J2-1232")
     public void testGetNextTimeWeeklyReturnsFirstWeekInYear_US() {
         final Locale old = Locale.getDefault();
         Locale.setDefault(Locale.US); // force 1st day of the week to be Sunday
@@ -247,9 +249,9 @@ public class PatternProcessorTest {
             initial.set(2015, Calendar.DECEMBER, 28, 00, 00, 00); // Monday, December 28, 2015
             final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
 
-            // expect Monday January 4, 2016
+            // expect Sunday January 3, 2016
             final Calendar expected = Calendar.getInstance();
-            expected.set(2016, Calendar.JANUARY, 4, 00, 00, 00);
+            expected.set(2016, Calendar.JANUARY, 3, 00, 00, 00);
             expected.set(Calendar.MILLISECOND, 0);
             assertEquals(format(expected.getTimeInMillis()), format(actual));
         } finally {

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9d1ffa7e/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 17c81f6..63fb8c5 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -40,6 +40,9 @@
       <action issue="LOG4J2-1192" dev="ggregory" type="add" due-to="Jörg Bretschneider, Gary Gregory">
         Dynamic Subject for SMTP Appender.
       </action>
+      <action issue="LOG4J2-1232" dev="ggregory" type="fix" due-to="Nikolai">
+        Incorrect log rotation in last week of year.
+      </action>
       <action issue="LOG4J2-1248" dev="rpopma" type="fix">
         Fixed broken nanotime in pattern layout.
       </action>