diff options
author | Inada Naoki <songofacandy@gmail.com> | 2021-04-13 09:17:03 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-13 09:17:03 (GMT) |
commit | c2b7a66b91cdb96fbfdb160f96797208ddc5e436 (patch) | |
tree | fd8a4bcca046f1ed4fc803c8534d246522a6fb2b | |
parent | a4833883c9b81b6b272cc7c5b67fa1658b65304c (diff) | |
download | cpython-c2b7a66b91cdb96fbfdb160f96797208ddc5e436.zip cpython-c2b7a66b91cdb96fbfdb160f96797208ddc5e436.tar.gz cpython-c2b7a66b91cdb96fbfdb160f96797208ddc5e436.tar.bz2 |
bpo-43731: Add an `encoding` parameter to logging.fileConfig() (GH-25273)
-rw-r--r-- | Doc/library/logging.config.rst | 7 | ||||
-rw-r--r-- | Lib/logging/config.py | 5 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2021-04-08-15-19-20.bpo-43731.nnVd3h.rst | 1 |
3 files changed, 10 insertions, 3 deletions
diff --git a/Doc/library/logging.config.rst b/Doc/library/logging.config.rst index cab49f6..f833bcd 100644 --- a/Doc/library/logging.config.rst +++ b/Doc/library/logging.config.rst @@ -77,7 +77,7 @@ in :mod:`logging` itself) and defining handlers which are declared either in .. versionadded:: 3.2 -.. function:: fileConfig(fname, defaults=None, disable_existing_loggers=True) +.. function:: fileConfig(fname, defaults=None, disable_existing_loggers=True, encoding=None) Reads the logging configuration from a :mod:`configparser`\-format file. The format of the file should be as described in @@ -111,6 +111,8 @@ in :mod:`logging` itself) and defining handlers which are declared either in they or their ancestors are explicitly named in the logging configuration. + :param encoding: The encoding used to open file when *fname* is filename. + .. versionchanged:: 3.4 An instance of a subclass of :class:`~configparser.RawConfigParser` is now accepted as a value for ``fname``. This facilitates: @@ -121,6 +123,9 @@ in :mod:`logging` itself) and defining handlers which are declared either in application (e.g. based on command-line parameters or other aspects of the runtime environment) before being passed to ``fileConfig``. + .. versionadded:: 3.10 + The *encoding* parameter is added. + .. function:: listen(port=DEFAULT_LOGGING_CONFIG_PORT, verify=None) Starts up a socket server on the specified port, and listens for new diff --git a/Lib/logging/config.py b/Lib/logging/config.py index fd3aded..3bc63b7 100644 --- a/Lib/logging/config.py +++ b/Lib/logging/config.py @@ -48,7 +48,7 @@ RESET_ERROR = errno.ECONNRESET # _listener holds the server object doing the listening _listener = None -def fileConfig(fname, defaults=None, disable_existing_loggers=True): +def fileConfig(fname, defaults=None, disable_existing_loggers=True, encoding=None): """ Read the logging configuration from a ConfigParser-format file. @@ -66,7 +66,8 @@ def fileConfig(fname, defaults=None, disable_existing_loggers=True): if hasattr(fname, 'readline'): cp.read_file(fname) else: - cp.read(fname) + encoding = io.text_encoding(encoding) + cp.read(fname, encoding=encoding) formatters = _create_formatters(cp) diff --git a/Misc/NEWS.d/next/Library/2021-04-08-15-19-20.bpo-43731.nnVd3h.rst b/Misc/NEWS.d/next/Library/2021-04-08-15-19-20.bpo-43731.nnVd3h.rst new file mode 100644 index 0000000..e5309c9 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2021-04-08-15-19-20.bpo-43731.nnVd3h.rst @@ -0,0 +1 @@ +Add an ``encoding`` parameter :func:`logging.fileConfig()`. |