Issue #7470: logging: fix bug in Unicode encoding fallback.
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index 3f8cf05..e0d6281 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -821,9 +821,9 @@
try:
if (isinstance(msg, unicode) and
getattr(stream, 'encoding', None)):
- fs = fs.decode(stream.encoding)
+ ufs = fs.decode(stream.encoding)
try:
- stream.write(fs % msg)
+ stream.write(ufs % msg)
except UnicodeEncodeError:
#Printing to terminals sometimes fails. For example,
#with an encoding of 'cp1251', the above write will
@@ -831,7 +831,7 @@
#the codecs module, but fail when writing to a
#terminal even when the codepage is set to cp1251.
#An extra encoding step seems to be needed.
- stream.write((fs % msg).encode(stream.encoding))
+ stream.write((ufs % msg).encode(stream.encoding))
else:
stream.write(fs % msg)
except UnicodeError:
diff --git a/Misc/NEWS b/Misc/NEWS
index e4c3918..38640a7 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -15,6 +15,8 @@
Library
-------
+- Issue #7470: logging: fix bug in Unicode encoding fallback.
+
- Issue #5949: fixed IMAP4_SSL hang when the IMAP server response is
missing proper end-of-line termination.