Logentries - Python示例返回UnicodeDecodeError

时间:2015-12-07 17:32:31

标签: python python-2.7 logging logentries

我正在尝试设置一个“logentries”帐户来记录我的python开发事件。 但即使使用文档中提供的最简单的测试,我也会收到以下错误。有什么想法吗?

Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on wi
n32
Type "help", "copyright", "credits" or "license" for more information.
>>> from logentries import LogentriesHandler
>>> import logging
>>> log = logging.getLogger('logentries')
>>> log.setLevel(logging.INFO)
>>> log.addHandler(LogentriesHandler('xxxx-xxxx-xxxx-xxxx-xxxx'))
>>> log.info('teste')
LE: Starting Logentries Asynchronous Socket Appender
>>> Exception in thread Thread-1:
Traceback (most recent call last):
  File "C:\Python27\lib\threading.py", line 810, in __bootstrap_inner
    self.run()
  File "C:\Python27\lib\site-packages\logentries\utils.py", line 96, in run
    multiline = le_helpers.create_unicode(data).replace(
  File "C:\Python27\lib\site-packages\logentries\helpers.py", line 31, in create
_unicode
    return unicode(ch, 'utf-8')
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe1 in position 59: invalid
continuation byte

1 个答案:

答案 0 :(得分:1)

感谢Nikita的评论我可以找到问题。

来自logentries的Helpers.py lib不适用于拉丁语OS,其时间戳标签的特殊字母为“á”。

更换

unicode(ch,'utf8')

unicode(ch,'utf8','replace')

做了这个伎俩。