Issue #5768: Change to Unicode output logic and test case for same.
This commit is contained in:
parent
b729135eee
commit
cbe744ae43
|
@ -764,11 +764,11 @@ class StreamHandler(Handler):
|
|||
stream.write(fs % msg)
|
||||
else:
|
||||
try:
|
||||
if (isinstance(msg, unicode) or
|
||||
getattr(stream, 'encoding', None) is None):
|
||||
stream.write(fs % msg)
|
||||
if (isinstance(msg, unicode) and
|
||||
getattr(stream, 'encoding', None)):
|
||||
stream.write(fs.decode(stream.encoding) % msg)
|
||||
else:
|
||||
stream.write(fs % msg.encode(stream.encoding))
|
||||
stream.write(fs % msg)
|
||||
except UnicodeError:
|
||||
stream.write(fs % msg.encode("UTF-8"))
|
||||
self.flush()
|
||||
|
|
|
@ -893,6 +893,7 @@ class EncodingTest(BaseTest):
|
|||
message = u'\u0434\u043e \u0441\u0432\u0438\u0434\u0430\u043d\u0438\u044f'
|
||||
#Ensure it's written in a Cyrillic encoding
|
||||
writer_class = codecs.getwriter('cp1251')
|
||||
writer_class.encoding = 'cp1251'
|
||||
stream = cStringIO.StringIO()
|
||||
writer = writer_class(stream, 'strict')
|
||||
handler = logging.StreamHandler(writer)
|
||||
|
|
Loading…
Reference in New Issue