[Twisted-Python] logging and Unicode strings
It seems that it is not possibile to pass Unicode strings to the logging system. 2007/07/14 18:10 CEST [HTTPChannel,0,127.0.0.1] <unicode instance at -1254556832 with str error Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/twisted/python/reflect.py", line 463, in safe_str return str(o) UnicodeEncodeError: 'ascii' codec can't encode character u'\xf2' in position 31: ordinal not in range(128) > Since I do not want to encode every string, I have changed safe_str: def safe_str(o): try: return str(o) except: if isinstance(o, unicode): import sys encoding = sys.getdefaultencoding() return o.encode(encoding, 'backslashreplace') strExc = '\n'.join(traceback.format_exception(*sys.exc_info())) clsName = _determineClassName(o) obId = id(o) return '<%s instance at %s with str error %s>' % ( clsName, obId, strExc) Is this a feature or a bug? Thanks and regards Manlio Perillo
participants (1)
-
Manlio Perillo