[logging-log4j2] branch release-2.x updated: [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
This is an automated email from the ASF dual-hosted git repository. ggregory 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 28fe553 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. 28fe553 is described below commit 28fe5535fdc32ef7271981fc36407e4324d08e9e Author: Gary Gregory AuthorDate: Fri Dec 7 14:27:16 2018 -0700 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_HH} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_HHMM} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_HHCMM} --- .../apache/logging/log4j/core/pattern/DatePatternConverterTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java index b3a6683..0221fdc 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java @@ -211,7 +211,7 @@ public class DatePatternConverterTest { } @Test -public void testFormatLogEventStringBuilderIso8601TimezoneOffset() { +public void testFormatLogEventStringBuilderIso8601TimezoneOffsetHHCMM() { final LogEvent event = new MyLogEvent(); final String[] optionsWithTimezone = { ISO8601_OFFSET_DATE_TIME_HHCMM }; final DatePatternConverter converter = DatePatternConverter.newInstance(optionsWithTimezone); @@ -225,7 +225,7 @@ public class DatePatternConverterTest { } @Test -public void testFormatLogEventStringBuilderIso8601TimezoneOffsetXX() { +public void testFormatLogEventStringBuilderIso8601TimezoneOffsetHHMM() { final LogEvent event = new MyLogEvent(); final String[] optionsWithTimezone = { ISO8601_OFFSET_DATE_TIME_HHMM }; final DatePatternConverter converter = DatePatternConverter.newInstance(optionsWithTimezone);
[logging-log4j2] branch release-2.x updated: [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
This is an automated email from the ASF dual-hosted git repository. ggregory 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 a803c3b [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. a803c3b is described below commit a803c3b91b0de25f5f17dbb872014d6df00aad5f Author: Gary Gregory AuthorDate: Thu Dec 6 10:21:01 2018 -0700 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. Sort methods for easier porting b/w branches. --- .../core/pattern/DatePatternConverterTest.java | 428 ++--- 1 file changed, 214 insertions(+), 214 deletions(-) diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java index 3bb3677..34f0b08 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java @@ -43,6 +43,25 @@ import static org.junit.Assert.*; @RunWith(Parameterized.class) public class DatePatternConverterTest { +private class MyLogEvent extends AbstractLogEvent { +private static final long serialVersionUID = 0; + +@Override +public Instant getInstant() { +final MutableInstant result = new MutableInstant(); +result.initFromEpochMilli(getTimeMillis(), 123456); +return result; +} + +@Override +public long getTimeMillis() { +final Calendar cal = Calendar.getInstance(); +cal.set(2011, Calendar.DECEMBER, 30, 10, 56, 35); +cal.set(Calendar.MILLISECOND, 987); +return cal.getTimeInMillis(); +} +} + /** * SimpleTimePattern for DEFAULT. */ @@ -84,9 +103,72 @@ public class DatePatternConverterTest { field.setBoolean(null, threadLocalEnabled.booleanValue()); } +private Date date(final int year, final int month, final int date) { +final Calendar cal = Calendar.getInstance(); +cal.set(year, month, date, 14, 15, 16); +cal.set(Calendar.MILLISECOND, 123); +return cal.getTime(); +} + +private String precisePattern(final String pattern, final int precision) { +String search = "SSS"; +int foundIndex = pattern.indexOf(search); +final String seconds = pattern.substring(0, foundIndex); +final String remainder = pattern.substring(foundIndex + search.length()); +return seconds + "n".substring(0, precision) + remainder; +} + @Test -public void testNewInstanceAllowsNullParameter() { -DatePatternConverter.newInstance(null); // no errors +public void testFormatDateStringBuilderDefaultPattern() { +final DatePatternConverter converter = DatePatternConverter.newInstance(null); +final StringBuilder sb = new StringBuilder(); +converter.format(date(2001, 1, 1), sb); + +final String expected = "2001-02-01 14:15:16,123"; +assertEquals(expected, sb.toString()); +} + +@Test +public void testFormatDateStringBuilderIso8601() { +final DatePatternConverter converter = DatePatternConverter.newInstance(ISO8601_FORMAT_OPTIONS); +final StringBuilder sb = new StringBuilder(); +converter.format(date(2001, 1, 1), sb); + +final String expected = "2001-02-01T14:15:16,123"; +assertEquals(expected, sb.toString()); +} + +@Test +public void testFormatDateStringBuilderIso8601BasicWithPeriod() { +final String[] pattern = {FixedDateFormat.FixedFormat.ISO8601_BASIC_PERIOD.name()}; +final DatePatternConverter converter = DatePatternConverter.newInstance(pattern); +final StringBuilder sb = new StringBuilder(); +converter.format(date(2001, 1, 1), sb); + +final String expected = "20010201T141516.123"; +assertEquals(expected, sb.toString()); +} + +@Test +public void testFormatDateStringBuilderIso8601WithPeriod() { +final String[] pattern = {FixedDateFormat.FixedFormat.ISO8601_PERIOD.name()}; +final DatePatternConverter converter = DatePatternConverter.newInstance(pattern); +final StringBuilder sb = new StringBuilder(); +converter.format(date(2001, 1, 1), sb); + +final String expected = "2001-02-01T14:15:16.123"; +assertEquals(expected, sb.toString()); +} + +@Test +public void testFormatDateStringBuilderOriginalPattern() { +final String[] pattern = {"/MM/dd HH-mm-ss.SSS"}; +final DatePatternConverter converter = DatePatternConverter.newInstance(pattern); +final
[logging-log4j2] branch release-2.x updated: [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
This is an automated email from the ASF dual-hosted git repository. ggregory 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 8939396 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. 8939396 is described below commit 8939396d8f4f572008e1811bcfd6b75c3a814421 Author: Gary Gregory AuthorDate: Thu Dec 6 10:17:58 2018 -0700 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_HH} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_HHMM} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_HHCMM} --- .../log4j/core/pattern/DatePatternConverterTest.java| 13 +++-- 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java index c579473..3bb3677 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java @@ -56,12 +56,12 @@ public class DatePatternConverterTest { /** * ISO8601_OFFSET_DATE_TIME_XX string literal. */ -private static final String ISO8601_OFFSET_DATE_TIME_XX = FixedDateFormat.FixedFormat.ISO8601_OFFSET_DATE_TIME_HHMM.name(); +private static final String ISO8601_OFFSET_DATE_TIME_HHMM = FixedDateFormat.FixedFormat.ISO8601_OFFSET_DATE_TIME_HHMM.name(); /** * ISO8601_OFFSET_DATE_TIME_XXX string literal. */ -private static final String ISO8601_OFFSET_DATE_TIME_XXX = FixedDateFormat.FixedFormat.ISO8601_OFFSET_DATE_TIME_HHCMM.name(); +private static final String ISO8601_OFFSET_DATE_TIME_HHCMM = FixedDateFormat.FixedFormat.ISO8601_OFFSET_DATE_TIME_HHCMM.name(); private static final String[] ISO8601_FORMAT_OPTIONS = { ISO8601 }; @@ -165,7 +165,7 @@ public class DatePatternConverterTest { @Test public void testFormatLogEventStringBuilderIso8601TimezoneOffset() { final LogEvent event = new MyLogEvent(); -final String[] optionsWithTimezone = { ISO8601_OFFSET_DATE_TIME_XXX }; +final String[] optionsWithTimezone = { ISO8601_OFFSET_DATE_TIME_HHCMM }; final DatePatternConverter converter = DatePatternConverter.newInstance(optionsWithTimezone); final StringBuilder sb = new StringBuilder(); converter.format(event, sb); @@ -177,15 +177,16 @@ public class DatePatternConverterTest { } @Test -public void testFormatLogEventStringBuilderIso8601TimezoneOffsetZ() { +public void testFormatLogEventStringBuilderIso8601TimezoneOffsetXX() { final LogEvent event = new MyLogEvent(); -final String[] optionsWithTimezone = { ISO8601_OFFSET_DATE_TIME_XX }; +final String[] optionsWithTimezone = { ISO8601_OFFSET_DATE_TIME_HHMM }; final DatePatternConverter converter = DatePatternConverter.newInstance(optionsWithTimezone); final StringBuilder sb = new StringBuilder(); converter.format(event, sb); final SimpleDateFormat sdf = new SimpleDateFormat(converter.getPattern()); -final String expected = sdf.format(new Date(event.getTimeMillis())); +final String format = sdf.format(new Date(event.getTimeMillis())); +final String expected = format.endsWith("Z") ? format.substring(0, format.length() - 1) + "+" : format; assertEquals(expected, sb.toString()); }
[logging-log4j2] branch release-2.x updated: [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
This is an automated email from the ASF dual-hosted git repository. ggregory 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 f2b94de [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. f2b94de is described below commit f2b94de43b0521e9159d0f813f791aa749b75207 Author: Gary Gregory AuthorDate: Thu Dec 6 09:35:30 2018 -0700 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_HH} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_HHMM} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_HHCMM} --- src/site/xdoc/manual/layouts.xml.vm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/site/xdoc/manual/layouts.xml.vm b/src/site/xdoc/manual/layouts.xml.vm index 1cc957a..0508966 100644 --- a/src/site/xdoc/manual/layouts.xml.vm +++ b/src/site/xdoc/manual/layouts.xml.vm @@ -747,15 +747,15 @@ WARN [main]: Message 2 20121102T143402,781 -%d{ISO8601_OFFSET_DATE_TIME_X} +%d{ISO8601_OFFSET_DATE_TIME_HH} 2012-11-02'T'14:34:02,781-07 -%d{ISO8601_OFFSET_DATE_TIME_XX} +%d{ISO8601_OFFSET_DATE_TIME_HHMM} 2012-11-02'T'14:34:02,781-0700 -%d{ISO8601_OFFSET_DATE_TIME_XXX} +%d{ISO8601_OFFSET_DATE_TIME_HHCMM} 2012-11-02'T'14:34:02,781-07:00
[logging-log4j2] branch release-2.x updated: [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
This is an automated email from the ASF dual-hosted git repository. ggregory 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 c015aab [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. c015aab is described below commit c015aab8228d58e2e3c6d1e06d378b36764ca86f Author: Gary Gregory AuthorDate: Thu Dec 6 09:34:07 2018 -0700 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_HH} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_HHMM} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_HHCMM} --- .../log4j/core/util/datetime/FixedDateFormat.java | 29 -- .../core/pattern/DatePatternConverterTest.java | 4 +-- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java index e520334..dd80585 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java @@ -117,19 +117,19 @@ public class FixedDateFormat { //ISO8601_OFFSET_DATE_TIME("-MM-dd'T'HH:mmXXX", "-MM-dd'T'", 2, ':', 1, ' ', 0, 0, FixedTimeZoneFormat.XXX), /** - * ISO8601_OFFSET_DATE_TIME_X time format: {@code "-MM-dd'T'HH:mm:ss,SSSX"}. + * ISO8601 time format: {@code "-MM-dd'T'HH:mm:ss,SSSX"} with a time zone like {@code -07}. */ -ISO8601_OFFSET_DATE_TIME_X("-MM-dd'T'HH:mm:ss,SSSX", "-MM-dd'T'", 2, ':', 1, ',', 1, 3, FixedTimeZoneFormat.X), +ISO8601_OFFSET_DATE_TIME_HH("-MM-dd'T'HH:mm:ss,SSSX", "-MM-dd'T'", 2, ':', 1, ',', 1, 3, FixedTimeZoneFormat.HH), /** - * ISO8601_OFFSET_DATE_TIME_XX time format: {@code "-MM-dd'T'HH:mm:ss,SSSXX"}. + * ISO8601 time format: {@code "-MM-dd'T'HH:mm:ss,SSSXX"} with a time zone like {@code -0700}. */ -ISO8601_OFFSET_DATE_TIME_XX("-MM-dd'T'HH:mm:ss,SSSXX", "-MM-dd'T'", 2, ':', 1, ',', 1, 3, FixedTimeZoneFormat.XX), +ISO8601_OFFSET_DATE_TIME_HHMM("-MM-dd'T'HH:mm:ss,SSSXX", "-MM-dd'T'", 2, ':', 1, ',', 1, 3, FixedTimeZoneFormat.HHMM), /** - * ISO8601_OFFSET_DATE_TIME_XXX time format: {@code "-MM-dd'T'HH:mm:ss,SSSXXX"}. + * ISO8601 time format: {@code "-MM-dd'T'HH:mm:ss,SSSXXX"} with a time zone like {@code -07:00}. */ -ISO8601_OFFSET_DATE_TIME_XXX("-MM-dd'T'HH:mm:ss,SSSXXX", "-MM-dd'T'", 2, ':', 1, ',', 1, 3, FixedTimeZoneFormat.XXX), +ISO8601_OFFSET_DATE_TIME_HHCMM("-MM-dd'T'HH:mm:ss,SSSXXX", "-MM-dd'T'", 2, ':', 1, ',', 1, 3, FixedTimeZoneFormat.HHCMM), /** * ISO8601 time format: {@code "-MM-dd'T'HH:mm:ss.SSS"}. @@ -293,25 +293,28 @@ public class FixedDateFormat { private static final char NONE = (char) 0; /** - * Fixed time zone formats. The enum names are symbols from - * https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html. + * Fixed time zone formats. The enum names are symbols from Java's https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html;>DateTimeFormatter. + * + * @see https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html;>DateTimeFormatter */ public enum FixedTimeZoneFormat { /** - * Offset like {@code -07} + * Offset like {@code -07}. */ -X(NONE, false, 3), +HH(NONE, false, 3), /** * Offset like {@code -0700}. */ -XX(NONE, true, 5), +HHMM(NONE, true, 5), /** - * Offset like {@code -07:00} + * Offset like {@code -07:00}. */ -XXX(':', true, 6); +HHCMM(':', true, 6); private FixedTimeZoneFormat() { this(NONE, true, 4); diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java index df2b5b2..c579473 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java @@ -56,12 +56,12 @@ public class DatePatternConverterTest { /** * ISO8601_OFFSET_DATE_TIME_XX string literal. */ -private static final
[logging-log4j2] branch release-2.x updated: [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
This is an automated email from the ASF dual-hosted git repository. ggregory 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 87904fc [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. 87904fc is described below commit 87904fcdfce800eb8d32fc30ef69884bee1fccd2 Author: Gary Gregory AuthorDate: Thu Dec 6 09:12:05 2018 -0700 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_X} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XXX} --- .../log4j/core/util/datetime/FixedDateFormat.java | 14 +- .../log4j/core/pattern/DatePatternConverterTest.java | 18 +- src/site/xdoc/manual/layouts.xml.vm| 4 3 files changed, 10 insertions(+), 26 deletions(-) diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java index 13971dc..e520334 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java @@ -132,11 +132,6 @@ public class FixedDateFormat { ISO8601_OFFSET_DATE_TIME_XXX("-MM-dd'T'HH:mm:ss,SSSXXX", "-MM-dd'T'", 2, ':', 1, ',', 1, 3, FixedTimeZoneFormat.XXX), /** - * ISO8601_OFFSET_DATE_TIME_Z time format: {@code "-MM-dd'T'HH:mm:ss,SSSZ"}. - */ -ISO8601_OFFSET_DATE_TIME_Z("-MM-dd'T'HH:mm:ss,SSSZ", "-MM-dd'T'", 2, ':', 1, ',', 1, 3, FixedTimeZoneFormat.Z), - -/** * ISO8601 time format: {@code "-MM-dd'T'HH:mm:ss.SSS"}. */ ISO8601_PERIOD("-MM-dd'T'HH:mm:ss.SSS", "-MM-dd'T'", 2, ':', 1, '.', 1, 3, null); @@ -310,21 +305,14 @@ public class FixedDateFormat { /** * Offset like {@code -0700}. - * Same as Z. */ XX(NONE, true, 5), /** * Offset like {@code -07:00} */ -XXX(':', true, 6), +XXX(':', true, 6); -/** - * Offset like {@code -0700}. - * Same as XX. - */ -Z(NONE, true, 5); - private FixedTimeZoneFormat() { this(NONE, true, 4); } diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java index 3ec62bc..df2b5b2 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java @@ -51,19 +51,19 @@ public class DatePatternConverterTest { /** * ISO8601 string literal. */ -private static final String ISO8601_FORMAT = FixedDateFormat.FixedFormat.ISO8601.name(); +private static final String ISO8601 = FixedDateFormat.FixedFormat.ISO8601.name(); /** - * ISO8601_OFFSET string literal. + * ISO8601_OFFSET_DATE_TIME_XX string literal. */ -private static final String ISO8601_OFFSET_DATE_TIME_XXX = FixedDateFormat.FixedFormat.ISO8601_OFFSET_DATE_TIME_XXX.name(); +private static final String ISO8601_OFFSET_DATE_TIME_XX = FixedDateFormat.FixedFormat.ISO8601_OFFSET_DATE_TIME_XX.name(); /** - * ISO8601_OFFSET_Z string literal. + * ISO8601_OFFSET_DATE_TIME_XXX string literal. */ -private static final String ISO8601_OFFSET_Z_FORMAT = FixedDateFormat.FixedFormat.ISO8601_OFFSET_DATE_TIME_Z.name(); +private static final String ISO8601_OFFSET_DATE_TIME_XXX = FixedDateFormat.FixedFormat.ISO8601_OFFSET_DATE_TIME_XXX.name(); -private static final String[] ISO8601_FORMAT_OPTIONS = {ISO8601_FORMAT}; +private static final String[] ISO8601_FORMAT_OPTIONS = { ISO8601 }; @Parameterized.Parameters(name = "threadLocalEnabled={0}") public static Collection data() { @@ -130,7 +130,7 @@ public class DatePatternConverterTest { @Test public void testFormatLogEventStringBuilderIso8601TimezoneJST() { final LogEvent event = new MyLogEvent(); -final String[] optionsWithTimezone = { ISO8601_FORMAT, "JST" }; +final String[] optionsWithTimezone = { ISO8601, "JST" }; final DatePatternConverter converter = DatePatternConverter.newInstance(optionsWithTimezone); final StringBuilder sb = new StringBuilder(); converter.format(event, sb); @@ -148,7 +148,7 @@ public class
[logging-log4j2] branch release-2.x updated: [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
This is an automated email from the ASF dual-hosted git repository. ggregory 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 6276715 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. 6276715 is described below commit 6276715e0d016a4784f626288bc568e3fa66786f Author: Gary Gregory AuthorDate: Wed Dec 5 11:08:17 2018 -0700 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_X} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XXX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_Z} --- .../org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java index 0a9f3bd..3ec62bc 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java @@ -172,7 +172,7 @@ public class DatePatternConverterTest { final SimpleDateFormat sdf = new SimpleDateFormat(converter.getPattern()); final String format = sdf.format(new Date(event.getTimeMillis())); -final String expected = format.endsWith("Z") ? format.substring(0, format.length()) + "+00:00" : format; +final String expected = format.endsWith("Z") ? format.substring(0, format.length() - 1) + "+00:00" : format; assertEquals(expected, sb.toString()); }
[logging-log4j2] branch release-2.x updated: [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
This is an automated email from the ASF dual-hosted git repository. ggregory 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 e07a4f8 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. e07a4f8 is described below commit e07a4f863f0ed47b1f2d98e8d29d73ab1b5baa79 Author: Gary Gregory AuthorDate: Wed Dec 5 09:39:45 2018 -0700 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_X} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XXX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_Z} --- .../logging/log4j/core/pattern/DatePatternConverterTest.java | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java index 8577308..0a9f3bd 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java @@ -25,6 +25,7 @@ import java.util.Collection; import java.util.Date; import java.util.TimeZone; +import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.core.AbstractLogEvent; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.util.Constants; @@ -129,7 +130,7 @@ public class DatePatternConverterTest { @Test public void testFormatLogEventStringBuilderIso8601TimezoneJST() { final LogEvent event = new MyLogEvent(); -final String[] optionsWithTimezone = {ISO8601_FORMAT, "JST"}; +final String[] optionsWithTimezone = { ISO8601_FORMAT, "JST" }; final DatePatternConverter converter = DatePatternConverter.newInstance(optionsWithTimezone); final StringBuilder sb = new StringBuilder(); converter.format(event, sb); @@ -147,7 +148,7 @@ public class DatePatternConverterTest { @Test public void testFormatLogEventStringBuilderIso8601TimezoneZ() { final LogEvent event = new MyLogEvent(); -final String[] optionsWithTimezone = {ISO8601_FORMAT, "Z"}; +final String[] optionsWithTimezone = { ISO8601_FORMAT, "Z" }; final DatePatternConverter converter = DatePatternConverter.newInstance(optionsWithTimezone); final StringBuilder sb = new StringBuilder(); converter.format(event, sb); @@ -164,20 +165,21 @@ public class DatePatternConverterTest { @Test public void testFormatLogEventStringBuilderIso8601TimezoneOffset() { final LogEvent event = new MyLogEvent(); -final String[] optionsWithTimezone = {ISO8601_OFFSET_DATE_TIME_XXX}; +final String[] optionsWithTimezone = { ISO8601_OFFSET_DATE_TIME_XXX }; final DatePatternConverter converter = DatePatternConverter.newInstance(optionsWithTimezone); final StringBuilder sb = new StringBuilder(); converter.format(event, sb); final SimpleDateFormat sdf = new SimpleDateFormat(converter.getPattern()); -final String expected = sdf.format(new Date(event.getTimeMillis())); +final String format = sdf.format(new Date(event.getTimeMillis())); +final String expected = format.endsWith("Z") ? format.substring(0, format.length()) + "+00:00" : format; assertEquals(expected, sb.toString()); } @Test public void testFormatLogEventStringBuilderIso8601TimezoneOffsetZ() { final LogEvent event = new MyLogEvent(); -final String[] optionsWithTimezone = {ISO8601_OFFSET_Z_FORMAT}; +final String[] optionsWithTimezone = { ISO8601_OFFSET_Z_FORMAT }; final DatePatternConverter converter = DatePatternConverter.newInstance(optionsWithTimezone); final StringBuilder sb = new StringBuilder(); converter.format(event, sb);
[logging-log4j2] branch release-2.x updated: [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
This is an automated email from the ASF dual-hosted git repository. ggregory 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 2e7af04 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. 2e7af04 is described below commit 2e7af041728c4f03d65a533ab3b3a0207c39c200 Author: Gary Gregory AuthorDate: Tue Dec 4 18:20:09 2018 -0700 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_X} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XXX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_Z} --- src/changes/changes.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 289f0de..c11a311 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -148,6 +148,9 @@ Allow a JDBC Appender to truncate strings to match a table's metadata column length limit. + +PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. +
[logging-log4j2] branch release-2.x updated: [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
This is an automated email from the ASF dual-hosted git repository. ggregory 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 140b50b [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. 140b50b is described below commit 140b50bf7436bab189b0a1869a46cf957c22e99c Author: Gary Gregory AuthorDate: Tue Dec 4 17:49:29 2018 -0700 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_X} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XXX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_Z} --- .../apache/logging/log4j/core/util/datetime/FixedDateFormat.java | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java index 6da5e7a..13971dc 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java @@ -390,7 +390,7 @@ public class FixedDateFormat { private final char millisSeparatorChar; private final int timeSeparatorLength; private final int millisSeparatorLength; -private final FixedTimeZoneFormat timeZoneFormat; +private final FixedTimeZoneFormat fixedTimeZoneFormat; private volatile long midnightToday = 0; private volatile long midnightTomorrow = 0; @@ -434,7 +434,7 @@ public class FixedDateFormat { this.timeSeparatorLength = fixedFormat.timeSeparatorLength; this.millisSeparatorChar = fixedFormat.millisSeparatorChar; this.millisSeparatorLength = fixedFormat.millisSeparatorLength; -this.timeZoneFormat = fixedFormat.fixedTimeZoneFormat; // may be null +this.fixedTimeZoneFormat = fixedFormat.fixedTimeZoneFormat; // may be null this.length = fixedFormat.getLength(); this.secondFractionDigits = Math.max(1, Math.min(9, secondFractionDigits)); this.fastDateFormat = fixedFormat.getFastDateFormat(tz); @@ -673,8 +673,8 @@ public class FixedDateFormat { } private int writeTimeZone(final long epochMillis, final char[] buffer, int pos) { -if (timeZoneFormat != null) { -pos = timeZoneFormat.write(timeZone.getOffset(epochMillis), buffer, pos); +if (fixedTimeZoneFormat != null) { +pos = fixedTimeZoneFormat.write(timeZone.getOffset(epochMillis), buffer, pos); } return pos; }
[logging-log4j2] branch release-2.x updated: [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
This is an automated email from the ASF dual-hosted git repository. ggregory 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 7039681 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. 7039681 is described below commit 70396811726248a34a33996ba3f541201ffa64e0 Author: Gary Gregory AuthorDate: Tue Dec 4 17:46:58 2018 -0700 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_X} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XXX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_Z} --- .../logging/log4j/core/util/datetime/FixedDateFormat.java | 10 +- .../logging/log4j/core/pattern/DatePatternConverterTest.java | 4 ++-- .../logging/log4j/core/util/datetime/FixedDateFormatTest.java | 10 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java index c067314..6da5e7a 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java @@ -153,7 +153,7 @@ public class FixedDateFormat { private final char millisSeparatorChar; private final int millisSeparatorLength; private final int secondFractionDigits; -private final FixedTimeZoneFormat timeZoneFormat; +private final FixedTimeZoneFormat fixedTimeZoneFormat; FixedFormat(final String pattern, final String datePattern, final int escapeCount, final char timeSeparator, final int timeSepLength, final char millisSeparator, final int millisSepLength, @@ -166,7 +166,7 @@ public class FixedDateFormat { this.datePattern = datePattern; // may be null this.escapeCount = escapeCount; this.secondFractionDigits = secondFractionDigits; -this.timeZoneFormat = timeZoneFormat; +this.fixedTimeZoneFormat = timeZoneFormat; } /** @@ -290,8 +290,8 @@ public class FixedDateFormat { * Returns the optional time zone format. * @return the optional time zone format, may be null. */ -public FixedTimeZoneFormat getTimeZoneFormat() { -return timeZoneFormat; +public FixedTimeZoneFormat getFixedTimeZoneFormat() { +return fixedTimeZoneFormat; } } @@ -434,7 +434,7 @@ public class FixedDateFormat { this.timeSeparatorLength = fixedFormat.timeSeparatorLength; this.millisSeparatorChar = fixedFormat.millisSeparatorChar; this.millisSeparatorLength = fixedFormat.millisSeparatorLength; -this.timeZoneFormat = fixedFormat.timeZoneFormat; // may be null +this.timeZoneFormat = fixedFormat.fixedTimeZoneFormat; // may be null this.length = fixedFormat.getLength(); this.secondFractionDigits = Math.max(1, Math.min(9, secondFractionDigits)); this.fastDateFormat = fixedFormat.getFastDateFormat(tz); diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java index e391917..8577308 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/DatePatternConverterTest.java @@ -240,7 +240,7 @@ public class DatePatternConverterTest { final String[] milliOptions = { pattern, timeZone }; DatePatternConverter.newInstance(milliOptions).format(event, milliBuilder); -FixedTimeZoneFormat timeZoneFormat = format.getTimeZoneFormat(); +FixedTimeZoneFormat timeZoneFormat = format.getFixedTimeZoneFormat(); final int truncateLen = 3 + (timeZoneFormat != null ? timeZoneFormat.getLength() : 0); final String tz = timeZoneFormat != null ? milliBuilder.substring(milliBuilder.length() - timeZoneFormat.getLength(), @@ -291,7 +291,7 @@ public class DatePatternConverterTest { final String[] milliOptions = { pattern }; DatePatternConverter.newInstance(milliOptions).format(event, milliBuilder); -FixedTimeZoneFormat timeZoneFormat = format.getTimeZoneFormat(); +FixedTimeZoneFormat
[logging-log4j2] branch release-2.x updated: [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
This is an automated email from the ASF dual-hosted git repository. ggregory 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 31ddec3 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. 31ddec3 is described below commit 31ddec308340531dee7f33687546282b4f3d7c83 Author: Gary Gregory AuthorDate: Tue Dec 4 17:28:09 2018 -0700 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_X} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XXX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_Z} --- .../org/apache/logging/log4j/core/pattern/DatePatternConverter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java index fa5a8c3..0666974 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java @@ -88,7 +88,7 @@ public final class DatePatternConverter extends LogEventPatternConverter impleme private final FixedDateFormat fixedDateFormat; // below fields are only used in ThreadLocal caching mode -private final char[] cachedBuffer = new char[70]; // max length of formatted date-time in any format < 64 +private final char[] cachedBuffer = new char[70]; // max length of formatted date-time in any format < 70 private int length = 0; FixedFormatter(final FixedDateFormat fixedDateFormat) {
[logging-log4j2] branch release-2.x updated: [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601.
This is an automated email from the ASF dual-hosted git repository. ggregory 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 8e4f428 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. 8e4f428 is described below commit 8e4f4286940fe2199221a90e72d006563fce4083 Author: Gary Gregory AuthorDate: Tue Dec 4 17:22:19 2018 -0700 [LOG4J2-1246] PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601. - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_X} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_XXX} - Add new format in pattern layout %d{ISO8601_OFFSET_DATE_TIME_Z} --- .../log4j/core/pattern/DatePatternConverter.java | 2 +- .../log4j/core/util/datetime/FixedDateFormat.java | 224 + .../rolling/OnStartupTriggeringPolicyTest.java | 1 + .../core/pattern/DatePatternConverterTest.java | 173 .../core/util/datetime/FixedDateFormatTest.java| 54 +++-- src/site/xdoc/manual/layouts.xml.vm| 16 ++ 6 files changed, 373 insertions(+), 97 deletions(-) diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java index 703786b..fa5a8c3 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java @@ -88,7 +88,7 @@ public final class DatePatternConverter extends LogEventPatternConverter impleme private final FixedDateFormat fixedDateFormat; // below fields are only used in ThreadLocal caching mode -private final char[] cachedBuffer = new char[64]; // max length of formatted date-time in any format < 64 +private final char[] cachedBuffer = new char[70]; // max length of formatted date-time in any format < 64 private int length = 0; FixedFormatter(final FixedDateFormat fixedDateFormat) { diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java index f58a29b..c067314 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormat.java @@ -31,6 +31,7 @@ import java.util.concurrent.TimeUnit; * * Related benchmarks: /log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/TimeFormatBenchmark.java and * /log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadsafeDateFormatBenchmark.java + * */ public class FixedDateFormat { @@ -38,78 +39,107 @@ public class FixedDateFormat { * Enumeration over the supported date/time format patterns. * * Package protected for unit tests. + * */ public enum FixedFormat { + /** * ABSOLUTE time format: {@code "HH:mm:ss,SSS"}. */ -ABSOLUTE("HH:mm:ss,SSS", null, 0, ':', 1, ',', 1, 3), +ABSOLUTE("HH:mm:ss,SSS", null, 0, ':', 1, ',', 1, 3, null), /** * ABSOLUTE time format with microsecond precision: {@code "HH:mm:ss,nn"}. */ -ABSOLUTE_MICROS("HH:mm:ss,nn", null, 0, ':', 1, ',', 1, 6), +ABSOLUTE_MICROS("HH:mm:ss,nn", null, 0, ':', 1, ',', 1, 6, null), /** * ABSOLUTE time format with nanosecond precision: {@code "HH:mm:ss,n"}. */ -ABSOLUTE_NANOS("HH:mm:ss,n", null, 0, ':', 1, ',', 1, 9), +ABSOLUTE_NANOS("HH:mm:ss,n", null, 0, ':', 1, ',', 1, 9, null), /** * ABSOLUTE time format variation with period separator: {@code "HH:mm:ss.SSS"}. */ -ABSOLUTE_PERIOD("HH:mm:ss.SSS", null, 0, ':', 1, '.', 1, 3), +ABSOLUTE_PERIOD("HH:mm:ss.SSS", null, 0, ':', 1, '.', 1, 3, null), /** * COMPACT time format: {@code "MMddHHmmssSSS"}. */ -COMPACT("MMddHHmmssSSS", "MMdd", 0, ' ', 0, ' ', 0, 3), +COMPACT("MMddHHmmssSSS", "MMdd", 0, ' ', 0, ' ', 0, 3, null), /** * DATE_AND_TIME time format: {@code "dd MMM HH:mm:ss,SSS"}. */ -DATE("dd MMM HH:mm:ss,SSS", "dd MMM ", 0, ':', 1, ',', 1, 3), +DATE("dd MMM HH:mm:ss,SSS", "dd MMM ", 0, ':', 1, ',', 1, 3, null), /** * DATE_AND_TIME time format variation with period separator: {@code "dd MMM HH:mm:ss.SSS"}.