记录Python异常的最佳方式

问题:

我正在将我的例外打印到目前的日志文件中:

try:
    # coode in here
except Exception, e:
    logging.error(e)

我可以打印有关异常的更多信息和生成它的代码,而不仅仅是异常字符串?像行号或堆栈跟踪这样的事情会很棒。

回答:

 logger.exception这样做。
例如:

import logging
try:
    1/0
except Exception as e:
    logging.exception("message")

输出:

ERROR:root:message
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
ZeroDivisionError: integer division or modulo by zero

 @Paulo Cheque注意,“请注意,在Python 3中,您必须在except部分内调用logging.exception方法,如果在任意位置调用此方法,可能会产生一个奇怪的异常。 “

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Best way to log a Python exception

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 4 = 2