Closes #21172: Merged fix from 3.4.
This commit is contained in:
commit
bed54b569a
|
@ -23,7 +23,8 @@ Copyright (C) 2001-2014 Vinay Sajip. All Rights Reserved.
|
||||||
To use, simply 'import logging' and log away!
|
To use, simply 'import logging' and log away!
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import sys, os, time, io, traceback, warnings, weakref
|
import sys, os, time, io, traceback, warnings, weakref, collections
|
||||||
|
|
||||||
from string import Template
|
from string import Template
|
||||||
|
|
||||||
__all__ = ['BASIC_FORMAT', 'BufferingFormatter', 'CRITICAL', 'DEBUG', 'ERROR',
|
__all__ = ['BASIC_FORMAT', 'BufferingFormatter', 'CRITICAL', 'DEBUG', 'ERROR',
|
||||||
|
@ -253,7 +254,13 @@ class LogRecord(object):
|
||||||
# 'Value is %d' instead of 'Value is 0'.
|
# 'Value is %d' instead of 'Value is 0'.
|
||||||
# For the use case of passing a dictionary, this should not be a
|
# For the use case of passing a dictionary, this should not be a
|
||||||
# problem.
|
# problem.
|
||||||
if args and len(args) == 1 and isinstance(args[0], dict) and args[0]:
|
# Issue #21172: a request was made to relax the isinstance check
|
||||||
|
# to hasattr(args[0], '__getitem__'). However, the docs on string
|
||||||
|
# formatting still seem to suggest a mapping object is required.
|
||||||
|
# Thus, while not removing the isinstance check, it does now look
|
||||||
|
# for collections.Mapping rather than, as before, dict.
|
||||||
|
if (args and len(args) == 1 and isinstance(args[0], collections.Mapping)
|
||||||
|
and args[0]):
|
||||||
args = args[0]
|
args = args[0]
|
||||||
self.args = args
|
self.args = args
|
||||||
self.levelname = getLevelName(level)
|
self.levelname = getLevelName(level)
|
||||||
|
|
|
@ -31,6 +31,8 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #21172: isinstance check relaxed from dict to collections.Mapping.
|
||||||
|
|
||||||
- Issue #21155: asyncio.EventLoop.create_unix_server() now raises a ValueError
|
- Issue #21155: asyncio.EventLoop.create_unix_server() now raises a ValueError
|
||||||
if path and sock are specified at the same time.
|
if path and sock are specified at the same time.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue