You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2016/01/01 03:51:44 UTC
logging-log4j2 git commit: [LOG4J2-1232] Incorrect log rotation in
last week of year. Sort methods.
Repository: logging-log4j2
Updated Branches:
refs/heads/master f28d3d8b4 -> 5644b1322
[LOG4J2-1232] Incorrect log rotation in last week of year. Sort methods.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/5644b132
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/5644b132
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/5644b132
Branch: refs/heads/master
Commit: 5644b13228139ae22062b8590d1b1ee857a1f6b4
Parents: f28d3d8
Author: ggregory <gg...@apache.org>
Authored: Thu Dec 31 18:51:42 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Thu Dec 31 18:51:42 2015 -0800
----------------------------------------------------------------------
.../appender/rolling/PatternProcessorTest.java | 244 +++++++++----------
1 file changed, 122 insertions(+), 122 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/5644b132/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 c06b815..f366877 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
@@ -38,177 +38,143 @@ public class PatternProcessorTest {
}
@Test
- public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth() {
- final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
- final Calendar initial = Calendar.getInstance();
- initial.set(2014, Calendar.OCTOBER, 15, 10, 31, 59); // Oct 15th
- final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
+ public void testDontInterpretBackslashAsEscape() {
+ final PatternProcessor pp = new PatternProcessor("c:\\test\\new/app-%d{HH-mm-ss}.log");
+ final Calendar cal = Calendar.getInstance();
+ cal.set(Calendar.HOUR_OF_DAY, 16);
+ cal.set(Calendar.MINUTE, 02);
+ cal.set(Calendar.SECOND, 15);
- // We expect 1st day of next month
- final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.NOVEMBER, 1, 00, 00, 00);
- expected.set(Calendar.MILLISECOND, 0);
- assertEquals(format(expected.getTimeInMillis()), format(actual));
+ final StringBuilder buf = new StringBuilder();
+ pp.formatFileName(buf, cal.getTime(), 23);
+ assertEquals("c:\\test\\new/app-16-02-15.log", buf.toString());
}
@Test
- public void testGetNextTimeMonthlyReturnsFirstDayOfNextYear() {
- final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
+ public void testGetNextTimeHourlyReturnsFirstMinuteOfNextHour() {
+ final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
final Calendar initial = Calendar.getInstance();
- initial.set(2015, Calendar.DECEMBER, 28, 0, 0, 0);
+ initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 2014, 10:31
final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
- // We expect 1st day of next month
+ // expect Wed, March 4, 2014, 11:00
final Calendar expected = Calendar.getInstance();
- expected.set(2016, Calendar.JANUARY, 1, 00, 00, 00);
+ expected.set(2014, Calendar.MARCH, 4, 11, 00, 00);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
- public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth2() {
- final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
+ public void testGetNextTimeHourlyReturnsFirstMinuteOfNextHour2() {
+ final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
final Calendar initial = Calendar.getInstance();
- initial.set(2014, Calendar.JANUARY, 31, 10, 31, 59); // 2014 Jan 31st
+ initial.set(2014, Calendar.MARCH, 4, 23, 31, 59); // Tue, March 4, 2014, 23:31
final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
- // Expect 1st of next month: 2014 Feb 1st
+ // expect Wed, March 5, 2014, 00:00
final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.FEBRUARY, 1, 00, 00, 00);
+ expected.set(2014, Calendar.MARCH, 5, 00, 00, 00);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
- public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth3() {
- final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
+ public void testGetNextTimeHourlyReturnsFirstMinuteOfNextYear() {
+ final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
final Calendar initial = Calendar.getInstance();
- initial.set(2014, Calendar.DECEMBER, 31, 10, 31, 59); // 2014 Dec 31st
+ initial.set(2015, Calendar.DECEMBER, 31, 23, 31, 59);
final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
- // Expect 1st of next month: 2015 Jan 1st
final Calendar expected = Calendar.getInstance();
- expected.set(2015, Calendar.JANUARY, 1, 00, 00, 00);
+ expected.set(2016, Calendar.JANUARY, 1, 0, 0, 0);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@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
- try {
- final PatternProcessor pp = new PatternProcessor("logs/market_data_msg.log-%d{yyyy-MM-'W'W}");
- final Calendar initial = Calendar.getInstance();
- 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
- final Calendar expected = Calendar.getInstance();
- expected.set(2016, Calendar.JANUARY, 4, 00, 00, 00);
- expected.set(Calendar.MILLISECOND, 0);
- assertEquals(format(expected.getTimeInMillis()), format(actual));
- } finally {
- Locale.setDefault(old);
- }
- }
-
- @Test
- public void testGetNextTimeWeeklyReturnsFirstDayOfNextWeek_US() {
- final Locale old = Locale.getDefault();
- Locale.setDefault(Locale.US); // force 1st day of the week to be Sunday
-
- try {
- final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-W}.log.gz");
- final Calendar initial = Calendar.getInstance();
- initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 2014
- final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
+ public void testGetNextTimeMillisecondlyReturnsNextMillisec() {
+ final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH-mm-ss.SSS}.log.gz");
+ final Calendar initial = Calendar.getInstance();
+ initial.set(2014, Calendar.MARCH, 4, 10, 31, 53); // Tue, March 4, 2014, 10:31:53.123
+ initial.set(Calendar.MILLISECOND, 123);
+ assertEquals("2014/03/04 10:31:53.123", format(initial.getTimeInMillis()));
+ final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
- // expect Sunday, March 9, 2014
- final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.MARCH, 9, 00, 00, 00);
- expected.set(Calendar.MILLISECOND, 0);
- assertEquals(format(expected.getTimeInMillis()), format(actual));
- } finally {
- Locale.setDefault(old);
- }
+ // expect Tue, March 4, 2014, 10:31:53.124
+ final Calendar expected = Calendar.getInstance();
+ expected.set(2014, Calendar.MARCH, 4, 10, 31, 53);
+ expected.set(Calendar.MILLISECOND, 124);
+ assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
- public void testGetNextTimeWeeklyReturnsFirstDayOfNextWeek_FRANCE() {
- final Locale old = Locale.getDefault();
- Locale.setDefault(Locale.FRANCE); // force 1st day of the week to be Monday
-
- try {
- final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-W}.log.gz");
- final Calendar initial = Calendar.getInstance();
- initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 2014
- final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
+ public void testGetNextTimeMinutelyReturnsFirstSecondOfNextMinute() {
+ final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH-mm}.log.gz");
+ final Calendar initial = Calendar.getInstance();
+ initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 2014, 10:31
+ initial.set(Calendar.MILLISECOND, 0);
+ assertEquals("2014/03/04 10:31:59.000", format(initial.getTimeInMillis()));
+ final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
- // expect Monday, March 10, 2014
- final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.MARCH, 10, 00, 00, 00);
- expected.set(Calendar.MILLISECOND, 0);
- assertEquals(format(expected.getTimeInMillis()), format(actual));
- } finally {
- Locale.setDefault(old);
- }
+ // expect Tue, March 4, 2014, 10:32
+ final Calendar expected = Calendar.getInstance();
+ expected.set(2014, Calendar.MARCH, 4, 10, 32, 00);
+ expected.set(Calendar.MILLISECOND, 0);
+ assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
- public void testGetNextTimeHourlyReturnsFirstMinuteOfNextHour() {
- final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
+ public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth() {
+ final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
final Calendar initial = Calendar.getInstance();
- initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 2014, 10:31
+ initial.set(2014, Calendar.OCTOBER, 15, 10, 31, 59); // Oct 15th
final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
- // expect Wed, March 4, 2014, 11:00
+ // We expect 1st day of next month
final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.MARCH, 4, 11, 00, 00);
+ expected.set(2014, Calendar.NOVEMBER, 1, 00, 00, 00);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
- public void testGetNextTimeHourlyReturnsFirstMinuteOfNextYear() {
- final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
+ public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth2() {
+ final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
final Calendar initial = Calendar.getInstance();
- initial.set(2015, Calendar.DECEMBER, 31, 23, 31, 59);
+ initial.set(2014, Calendar.JANUARY, 31, 10, 31, 59); // 2014 Jan 31st
final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
+ // Expect 1st of next month: 2014 Feb 1st
final Calendar expected = Calendar.getInstance();
- expected.set(2016, Calendar.JANUARY, 1, 0, 0, 0);
+ expected.set(2014, Calendar.FEBRUARY, 1, 00, 00, 00);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
- public void testGetNextTimeHourlyReturnsFirstMinuteOfNextHour2() {
- final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz");
+ public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth3() {
+ final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
final Calendar initial = Calendar.getInstance();
- initial.set(2014, Calendar.MARCH, 4, 23, 31, 59); // Tue, March 4, 2014, 23:31
+ initial.set(2014, Calendar.DECEMBER, 31, 10, 31, 59); // 2014 Dec 31st
final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
- // expect Wed, March 5, 2014, 00:00
+ // Expect 1st of next month: 2015 Jan 1st
final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.MARCH, 5, 00, 00, 00);
+ expected.set(2015, Calendar.JANUARY, 1, 00, 00, 00);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@Test
- public void testGetNextTimeMinutelyReturnsFirstSecondOfNextMinute() {
- final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH-mm}.log.gz");
+ public void testGetNextTimeMonthlyReturnsFirstDayOfNextYear() {
+ final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz");
final Calendar initial = Calendar.getInstance();
- initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 2014, 10:31
- initial.set(Calendar.MILLISECOND, 0);
- assertEquals("2014/03/04 10:31:59.000", format(initial.getTimeInMillis()));
+ initial.set(2015, Calendar.DECEMBER, 28, 0, 0, 0);
final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
- // expect Tue, March 4, 2014, 10:32
+ // We expect 1st day of next month
final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.MARCH, 4, 10, 32, 00);
+ expected.set(2016, Calendar.JANUARY, 1, 00, 00, 00);
expected.set(Calendar.MILLISECOND, 0);
assertEquals(format(expected.getTimeInMillis()), format(actual));
}
@@ -230,31 +196,65 @@ public class PatternProcessorTest {
}
@Test
- public void testGetNextTimeMillisecondlyReturnsNextMillisec() {
- final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH-mm-ss.SSS}.log.gz");
- final Calendar initial = Calendar.getInstance();
- initial.set(2014, Calendar.MARCH, 4, 10, 31, 53); // Tue, March 4, 2014, 10:31:53.123
- initial.set(Calendar.MILLISECOND, 123);
- assertEquals("2014/03/04 10:31:53.123", format(initial.getTimeInMillis()));
- final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
+ public void testGetNextTimeWeeklyReturnsFirstDayOfNextWeek_FRANCE() {
+ final Locale old = Locale.getDefault();
+ Locale.setDefault(Locale.FRANCE); // force 1st day of the week to be Monday
- // expect Tue, March 4, 2014, 10:31:53.124
- final Calendar expected = Calendar.getInstance();
- expected.set(2014, Calendar.MARCH, 4, 10, 31, 53);
- expected.set(Calendar.MILLISECOND, 124);
- assertEquals(format(expected.getTimeInMillis()), format(actual));
+ try {
+ final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-W}.log.gz");
+ final Calendar initial = Calendar.getInstance();
+ initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 2014
+ final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
+
+ // expect Monday, March 10, 2014
+ final Calendar expected = Calendar.getInstance();
+ expected.set(2014, Calendar.MARCH, 10, 00, 00, 00);
+ expected.set(Calendar.MILLISECOND, 0);
+ assertEquals(format(expected.getTimeInMillis()), format(actual));
+ } finally {
+ Locale.setDefault(old);
+ }
}
@Test
- public void testDontInterpretBackslashAsEscape() {
- final PatternProcessor pp = new PatternProcessor("c:\\test\\new/app-%d{HH-mm-ss}.log");
- final Calendar cal = Calendar.getInstance();
- cal.set(Calendar.HOUR_OF_DAY, 16);
- cal.set(Calendar.MINUTE, 02);
- cal.set(Calendar.SECOND, 15);
+ public void testGetNextTimeWeeklyReturnsFirstDayOfNextWeek_US() {
+ final Locale old = Locale.getDefault();
+ Locale.setDefault(Locale.US); // force 1st day of the week to be Sunday
- final StringBuilder buf = new StringBuilder();
- pp.formatFileName(buf, cal.getTime(), 23);
- assertEquals("c:\\test\\new/app-16-02-15.log", buf.toString());
+ try {
+ final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-W}.log.gz");
+ final Calendar initial = Calendar.getInstance();
+ initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 2014
+ final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false);
+
+ // expect Sunday, March 9, 2014
+ final Calendar expected = Calendar.getInstance();
+ expected.set(2014, Calendar.MARCH, 9, 00, 00, 00);
+ expected.set(Calendar.MILLISECOND, 0);
+ assertEquals(format(expected.getTimeInMillis()), format(actual));
+ } finally {
+ Locale.setDefault(old);
+ }
+ }
+
+ @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
+ try {
+ final PatternProcessor pp = new PatternProcessor("logs/market_data_msg.log-%d{yyyy-MM-'W'W}");
+ final Calendar initial = Calendar.getInstance();
+ 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
+ final Calendar expected = Calendar.getInstance();
+ expected.set(2016, Calendar.JANUARY, 4, 00, 00, 00);
+ expected.set(Calendar.MILLISECOND, 0);
+ assertEquals(format(expected.getTimeInMillis()), format(actual));
+ } finally {
+ Locale.setDefault(old);
+ }
}
}