[logback-dev] ISO8601 format

Michael Osipov 1983-01-06 at gmx.net
Wed Jun 18 08:06:22 CEST 2014


Am 2014-06-18 00:08, schrieb Brent:
> Ceki,
>
> My vote is for option 1).
>
>
> The standard violating "no T" original format is a bug that should never have happened.
>
>
> I also vote for just %d to yield the correct (strict) ISO 8601 format.

+1, absolutely.

> p.s. I am tempted to betray my regional preferences by also advocating for the second/millisecond decimal separator to be a '.' instead of a ','...
>
>
>
>
>> ________________________________
>> From: Ceki Gülcü <ceki at qos.ch>
>> To: logback-dev at qos.ch
>> Sent: Tuesday, June 17, 2014 5:38 PM
>> Subject: Re: [logback-dev] ISO8601 format
>>
>>
>>
>> Hello everyone,
>>
>> At present time, %d{ISO8601} is equivalent to writing
>> %d{"yyyy-MM-dd HH:mm:ss,SSS"}. However, to match the ISO8601
>> standard the output should be that of %d{"yyyy-MM-dd'T'HH:mm:ss,SSS"}.
>> Note the 'T' in the middle.
>>
>> On the other hand, there is also a necessity to maintain backward
>> compatibility for log parsers that rely on the current albeit incorrect
>> format.
>>
>> Thus, we are hesitating between two options
>>
>> Option 1)
>>
>> Introduce the constant ISO8601_OLD so that %d{ISO8601_OLD} is
>> interpreted as equivalent to %d{"yyyy-MM-dd HH:mm:ss,SSS"}
>> and *change* %d{ISO8601} so it is now equivalent to
>> %d{"yyyy-MM-dd HH:mm:ss,SSS"}.
>>
>>
>> Option 2)
>>
>> Keep %d{ISO8601} as equivalent to %d{"yyyy-MM-dd HH:mm:ss,SSS"}
>> and *introduce* new constant ISO8601_STRICT so that %d{ISO8601_STRICT}
>> is interpreted as equivalent to %d{"yyyy-MM-dd'T'HH:mm:ss,SSS"}.
>>
>>
>> Personally, I favor the latter (option 2) as it preserves backward
>> compatibility and allows users to easily refer to the correct ISO8601
>> format if they wish to do so. Indeed, writing  %d{ISO8601_STRICT}  is
>> easier than %d{"yyyy-MM-dd'T'HH:mm:ss,SSS"}. Moreover, we can encourage
>> the use of %d{ISO8601_STRICT} by favoring it in the documentation, e.g.
>> by mentioning it more often.
>>
>> Note that writing just %d is equivalent to writing  %d{ISO8601}. Thus,
>> we can assume that for most user the output generated by %d is done
>> using the default, i.e. the incorrect format, making the backward
>> compatibility argument more potent.
>>
>> Cheers,
>> --
>> Ceki
>>
>>
>> On 6/17/2014 4:22, Tony Trinh wrote:
>>> Per LOGBACK-262 [1], logback does not conform to ISO8601 when printing
>>> %d{ISO8601}. We're in the process of fixing this [2], but we'd like to
>>> maintain backward compatibility for log parsers that might rely on the
>>> incorrect format. We have a couple options.
>>>
>>> OPTION 1. Add a new option for %d that enables the legacy incorrect
>>> format. Deprecate it, and remove it after several releases. Examples:
>>>
>>>      %d{ISO8601_OLD}
>>>      %d{NOT8601}
>>>      %d{OLD8601}
>>>      %d{ISO8601,,old}
>>>      other?
>>>
>>> OPTION 2. Force users to specify a custom date format that matches the
>>> legacy incorrect format:
>>>
>>>      %d{"yyyy-MM-dd HH:mm:ss,SSS"}
>>>
>>> Please provide feedback on these options (or a new one) by June 23.
>>>
>>> Thanks,
>>> Tony
>>>
>>> [1] http://jira.qos.ch/browse/LOGBACK-262
>>> [2] https://github.com/qos-ch/logback/pull/207
>>>
>> _______________________________________________
>> logback-dev mailing list
>> logback-dev at qos.ch
>> http://mailman.qos.ch/mailman/listinfo/logback-dev
>>
>>
>>
>>
>>
>> _______________________________________________
>> logback-dev mailing list
>> logback-dev at qos.ch
>> http://mailman.qos.ch/mailman/listinfo/logback-dev




More information about the logback-dev mailing list