GitHub user ashr123 edited a comment on the discussion: Getting current
date-time format (or default format)
in addition, why can't all the named patterns be an enum with 3 fields (base
pattern, compact postfix and non-compact postfix) and a getter with `boolean
compact` parameter that returns the correct pattern:
```java
public enum NamedPattern {
ABSOLUTE("HH:mm:ss,SSS", "nnnnnn", "SSSSSS"),
ABSOLUTE_NANOS("HH:mm:ss,SSS", "nnnnnnnnn", "SSSSSSSSS"),
ABSOLUTE_PERIOD("HH:mm:ss.SSS", "", ""),
COMPACT("yyyyMMddHHmmssSSS", "", ""),
DATE("dd MMM yyyy HH:mm:ss,SSS", "", ""),
DATE_PERIOD("dd MMM yyyy HH:mm:ss.SSS", "", ""),
DEFAULT("yyyy-MM-dd HH:mm:ss,SSS", "nnnnnn", "SSSSSS"),
DEFAULT_NANOS("yyyy-MM-dd HH:mm:ss,SSS", "nnnnnnnnn", "SSSSSSSSS"),
DEFAULT_PERIOD("yyyy-MM-dd HH:mm:ss.SSS", "", ""),
ISO8601_BASIC("yyyyMMdd'T'HHmmss,SSS", "", ""),
ISO8601_BASIC_PERIOD("yyyyMMdd'T'HHmmss.SSS", "", ""),
ISO8601("yyyy-MM-dd'T'HH:mm:ss,SSS", "", ""),
ISO8601_OFFSET_DATE_TIME_HH("yyyy-MM-dd'T'HH:mm:ss,SSS", "X", "x"),
ISO8601_OFFSET_DATE_TIME_HHMM("yyyy-MM-dd'T'HH:mm:ss,SSS", "XX", "xx"),
ISO8601_OFFSET_DATE_TIME_HHCMM("yyyy-MM-dd'T'HH:mm:ss,SSS", "XXX", "xxx"),
ISO8601_PERIOD("yyyy-MM-dd'T'HH:mm:ss.SSS", "", ""),
ISO8601_PERIOD_MICROS("yyyy-MM-dd'T'HH:mm:ss.", "nnnnnn", "SSSSSS"),
US_MONTH_DAY_YEAR2_TIME("dd/MM/yy HH:mm:ss.SSS", "", ""),
US_MONTH_DAY_YEAR4_TIME("dd/MM/yyyy HH:mm:ss.SSS", "", "");
private final String
basePattern,
compactPostfix,
nonCompactPostfix;
NamedPattern(String basePattern, String compactPostfix, String
nonCompactPostfix) {
this.basePattern = basePattern;
this.compactPostfix = compactPostfix;
this.nonCompactPostfix = nonCompactPostfix;
}
public String decodeNamedPattern(boolean isCompact) {
return basePattern + (isCompact ? compactPostfix : nonCompactPostfix);
}
}
```
And inside `DatePatternConverter`:
```java
static String decodeNamedPattern(final String pattern) {
try {
return NamedPattern.valueOf(pattern)
.decodeNamedPattern(InstantPatternFormatter.LEGACY_FORMATTERS_ENABLED);
} catch (IllegalArgumentException e) {
return pattern;
}
}
```
GitHub link:
https://github.com/apache/logging-log4j2/discussions/3788#discussioncomment-13600805
----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]