bpo-33400: Clarified documentation to indicate no strict adherence to ISO 8601. (GH-6702) (GH-6704)
(cherry picked from commit c4994dc00d
)
Co-authored-by: Vinay Sajip <vinay_sajip@yahoo.co.uk>
This commit is contained in:
parent
98b089e2a1
commit
eb8516becc
|
@ -296,9 +296,9 @@ which should print something like this:
|
||||||
|
|
||||||
2010-12-12 11:41:42,612 is when this event was logged.
|
2010-12-12 11:41:42,612 is when this event was logged.
|
||||||
|
|
||||||
The default format for date/time display (shown above) is ISO8601. If you need
|
The default format for date/time display (shown above) is like ISO8601 or
|
||||||
more control over the formatting of the date/time, provide a *datefmt*
|
RFC 3339. If you need more control over the formatting of the date/time, provide
|
||||||
argument to ``basicConfig``, as in this example::
|
a *datefmt* argument to ``basicConfig``, as in this example::
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p')
|
logging.basicConfig(format='%(asctime)s %(message)s', datefmt='%m/%d/%Y %I:%M:%S %p')
|
||||||
|
|
|
@ -790,10 +790,10 @@ Sections which specify formatter configuration are typified by the following.
|
||||||
|
|
||||||
The ``format`` entry is the overall format string, and the ``datefmt`` entry is
|
The ``format`` entry is the overall format string, and the ``datefmt`` entry is
|
||||||
the :func:`strftime`\ -compatible date/time format string. If empty, the
|
the :func:`strftime`\ -compatible date/time format string. If empty, the
|
||||||
package substitutes ISO8601 format date/times, which is almost equivalent to
|
package substitutes ISO8601-style format date/times, which is almost equivalent to
|
||||||
specifying the date format string ``'%Y-%m-%d %H:%M:%S'``. The ISO8601 format
|
specifying the date format string ``'%Y-%m-%d %H:%M:%S'``. This format also
|
||||||
also specifies milliseconds, which are appended to the result of using the above
|
specifies milliseconds, which are appended to the result of using the above
|
||||||
format string, with a comma separator. An example time in ISO8601 format is
|
format string, with a comma separator. An example time in this format is
|
||||||
``2003-01-23 00:29:50,411``.
|
``2003-01-23 00:29:50,411``.
|
||||||
|
|
||||||
The ``class`` entry is optional. It indicates the name of the formatter's class
|
The ``class`` entry is optional. It indicates the name of the formatter's class
|
||||||
|
|
|
@ -515,8 +515,9 @@ The useful mapping keys in a :class:`LogRecord` are given in the section on
|
||||||
Returns a new instance of the :class:`Formatter` class. The instance is
|
Returns a new instance of the :class:`Formatter` class. The instance is
|
||||||
initialized with a format string for the message as a whole, as well as a
|
initialized with a format string for the message as a whole, as well as a
|
||||||
format string for the date/time portion of a message. If no *fmt* is
|
format string for the date/time portion of a message. If no *fmt* is
|
||||||
specified, ``'%(message)s'`` is used. If no *datefmt* is specified, the
|
specified, ``'%(message)s'`` is used. If no *datefmt* is specified, an
|
||||||
ISO8601 date format is used.
|
ISO8601-like (or RFC3339-like) date format is used. See the
|
||||||
|
:meth:`formatTime` documentation for more details.
|
||||||
|
|
||||||
The *style* parameter can be one of '%', '{' or '$' and determines how
|
The *style* parameter can be one of '%', '{' or '$' and determines how
|
||||||
the format string will be merged with its data: using one of %-formatting,
|
the format string will be merged with its data: using one of %-formatting,
|
||||||
|
@ -556,8 +557,8 @@ The useful mapping keys in a :class:`LogRecord` are given in the section on
|
||||||
formatters to provide for any specific requirement, but the basic behavior
|
formatters to provide for any specific requirement, but the basic behavior
|
||||||
is as follows: if *datefmt* (a string) is specified, it is used with
|
is as follows: if *datefmt* (a string) is specified, it is used with
|
||||||
:func:`time.strftime` to format the creation time of the
|
:func:`time.strftime` to format the creation time of the
|
||||||
record. Otherwise, the ISO8601 format is used. The resulting string is
|
record. Otherwise, an ISO8601-like (or RDC 3339-like) format is used. The
|
||||||
returned.
|
resulting string is returned.
|
||||||
|
|
||||||
This function uses a user-configurable function to convert the creation
|
This function uses a user-configurable function to convert the creation
|
||||||
time to a tuple. By default, :func:`time.localtime` is used; to change
|
time to a tuple. By default, :func:`time.localtime` is used; to change
|
||||||
|
@ -568,7 +569,7 @@ The useful mapping keys in a :class:`LogRecord` are given in the section on
|
||||||
attribute in the ``Formatter`` class.
|
attribute in the ``Formatter`` class.
|
||||||
|
|
||||||
.. versionchanged:: 3.3
|
.. versionchanged:: 3.3
|
||||||
Previously, the default ISO 8601 format was hard-coded as in this
|
Previously, the default ISO8601-like format was hard-coded as in this
|
||||||
example: ``2010-09-06 22:38:15,292`` where the part before the comma is
|
example: ``2010-09-06 22:38:15,292`` where the part before the comma is
|
||||||
handled by a strptime format string (``'%Y-%m-%d %H:%M:%S'``), and the
|
handled by a strptime format string (``'%Y-%m-%d %H:%M:%S'``), and the
|
||||||
part after the comma is a millisecond value. Because strptime does not
|
part after the comma is a millisecond value. Because strptime does not
|
||||||
|
|
|
@ -466,7 +466,8 @@ class Formatter(object):
|
||||||
|
|
||||||
Initialize the formatter either with the specified format string, or a
|
Initialize the formatter either with the specified format string, or a
|
||||||
default as described above. Allow for specialized date formatting with
|
default as described above. Allow for specialized date formatting with
|
||||||
the optional datefmt argument (if omitted, you get the ISO8601 format).
|
the optional datefmt argument. If datefmt is omitted, you get an
|
||||||
|
ISO8601-like (or RFC 3339-like) format.
|
||||||
|
|
||||||
Use a style parameter of '%', '{' or '$' to specify that you want to
|
Use a style parameter of '%', '{' or '$' to specify that you want to
|
||||||
use one of %-formatting, :meth:`str.format` (``{}``) formatting or
|
use one of %-formatting, :meth:`str.format` (``{}``) formatting or
|
||||||
|
@ -494,13 +495,13 @@ class Formatter(object):
|
||||||
in formatters to provide for any specific requirement, but the
|
in formatters to provide for any specific requirement, but the
|
||||||
basic behaviour is as follows: if datefmt (a string) is specified,
|
basic behaviour is as follows: if datefmt (a string) is specified,
|
||||||
it is used with time.strftime() to format the creation time of the
|
it is used with time.strftime() to format the creation time of the
|
||||||
record. Otherwise, the ISO8601 format is used. The resulting
|
record. Otherwise, an ISO8601-like (or RFC 3339-like) format is used.
|
||||||
string is returned. This function uses a user-configurable function
|
The resulting string is returned. This function uses a user-configurable
|
||||||
to convert the creation time to a tuple. By default, time.localtime()
|
function to convert the creation time to a tuple. By default,
|
||||||
is used; to change this for a particular formatter instance, set the
|
time.localtime() is used; to change this for a particular formatter
|
||||||
'converter' attribute to a function with the same signature as
|
instance, set the 'converter' attribute to a function with the same
|
||||||
time.localtime() or time.gmtime(). To change it for all formatters,
|
signature as time.localtime() or time.gmtime(). To change it for all
|
||||||
for example if you want all logging times to be shown in GMT,
|
formatters, for example if you want all logging times to be shown in GMT,
|
||||||
set the 'converter' attribute in the Formatter class.
|
set the 'converter' attribute in the Formatter class.
|
||||||
"""
|
"""
|
||||||
ct = self.converter(record.created)
|
ct = self.converter(record.created)
|
||||||
|
|
Loading…
Reference in New Issue