崩溃记录格式化程序?

时间:2010-08-31 13:51:52

标签: python logging

我的程序中有一个日志记录组件。格式化程序的设置很简单:

sh.setFormatter(logging.Formatter("%(asctime)s - %(message)s"))

我注意到我的程序出了问题。在某一点之后,格式化程序将恢复为默认配置(即忽略我提供的格式)。仔细检查一下,似乎我通过发送一个消息来崩溃它,当在字符串中呈现时抛出UnicodeDecodeError。但是,我似乎无法修复。

我包裹了日志记录调用:

try:
    my_logger.info(msg)
except UnicodeDecodeError:
    pass

哪个“捕获”异常,但记录器仍然存在。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

知道导致UnicodeDecodeError的输入是什么?充分打印变量会有所帮助!如果您希望继续收到该错误,则应将调用包装在try..except块中的格式化程序中。

try:
    # log stuff
except UnicodeDecodeError:
    # handle the exception and move on

查看更多代码和一些输入数据可以帮助您获得更明确的响应。

答案 1 :(得分:1)

看看这个:http://wiki.python.org/moin/UnicodeDecodeError。 你可能有一些无法解码的字符串。

答案 2 :(得分:0)

我的产品的用户遇到此问题。进入日志记录/ init .py并添加一些打印语句以打印记录。 dict 。如果您在asctime中看到可能是您的问题的unicode。