[Python-bugs-list] [ python-Bugs-835353 ] logging.StreamHandler
encodes log message in UTF-8
SourceForge.net
noreply at sourceforge.net
Mon Nov 3 17:45:43 EST 2003
Bugs item #835353, was opened at 2003-11-03 23:45
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=835353&group_id=5470
Category: Python Library
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Vaclav Dvorak (vdvo)
Assigned to: Nobody/Anonymous (nobody)
Summary: logging.StreamHandler encodes log message in UTF-8
Initial Comment:
For some reason that I do not see,
logging.StreamHandler in Python 2.3 insists on writing
plain non-Unicode strings to the stream, and the
encoding is hard-coded as UTF-8:
if not hasattr(types, "UnicodeType"): #if
no unicode support...
self.stream.write("%s\n" % msg)
else:
try:
self.stream.write("%s\n" % msg)
except UnicodeError:
self.stream.write("%s\n" %
msg.encode("UTF-8"))
This behaviour is neither documented nor reasonable.
Files can be perfectly able to write Unicode strings
(e.g., through the use of codecs.EncodedFile or with a
default encoding of sys.stdout), and even if they are
not, UTF-8 is hardly the only choice for an encoding. I
propose to simply replace the above code with:
self.stream.write(msg)
self.stream.write("\n")
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=835353&group_id=5470
More information about the Python-bugs-list
mailing list