bpo-43731: Add an `encoding` parameter to logging.fileConfig() (GH-25273)
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 @@
# _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)