Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-1246

PatternLayout %date conversion pattern should render time zone designator for ISO-ISO8601

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.4.1, 2.5
    • 2.11.2
    • Pattern Converters
    • None

    Description

      Hi there!

      There might be a small issue with the Pattern Converters regarding Timezone management: http://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout

      Right now, these patterns:

      • "%d{ISO8601_BASIC}
      • %d{ISO8601_BASIC}{UTC}

      Give the same results:

      • 20160104T204256,048
      • 20160104T204256,048

      However, with a deeper look at the ISO-8601 standards, the second one with "{UTC}" should properly add the Timezone at the end of the timestamp.

      Reference: https://en.wikipedia.org/wiki/ISO_8601#Times

      UTC
      If the time is in UTC, add a Z directly after the time without a space. Z is the zone designator for the zero UTC offset. "09:30 UTC" is therefore represented as "09:30Z" or "0930Z". "14:45:15 UTC" would be "14:45:15Z" or "144515Z".
      UTC time is also known as 'Zulu' time, since 'Zulu' is the NATO phonetic alphabet word for 'Z'.

      Examples

      <time>Z
      <time>±hh:mm
      <time>±hhmm
      <time>±hh

      As of ISO-8601, the results should be one of the following (configurable?):

      • 20160104T204256,048Z
      • 20160104T204256,048+00:00
      • 20160104T204256,048+0000
      • 20160104T204256,048+00

      Another reference: http://stackoverflow.com/questions/833102/wheres-the-datetime-z-format-specifier

      Attachments

        Activity

          People

            Unassigned Unassigned
            MarcotteDan Daniel Marcotte
            Votes:
            4 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: