0

当我尝试使用 python 的日志记录模块时,它似乎会捕获异常并打印出错误,而不是让程序正常崩溃。

要初始化日志记录,我有这个:

logging.basicConfig(level=logging.DEBUG)

现在我得到了我所有的信息和警告消息,但除此之外,似乎当发生错误时,它会被捕获并打印为“错误”日志消息:

ERROR:root:'bool' object is not iterable

这给我带来了两个问题:

  1. 我看不到堆栈跟踪。
  2. 程序继续执行。

有没有办法禁用此行为,以便程序崩溃并显示堆栈跟踪,就好像我没有启用日志记录一样?

编辑

我是个白痴。捕获异常的不是日志记录。它是 websocket-client 模块。更具体地说,这些行:

     except Exception, e:
        self._run_with_no_err(self.on_error, e)

def _run_with_no_err(self, callback, *args):
    if callback:
        try:
            callback(self, *args)
        except Exception, e:
            if logger.isEnabledFor(logging.DEBUG):
                logger.error(e)

碰巧我在启用日志记录时注意到了这种行为并且认为两者没有连接。

4

0 回答 0