【问题标题】:How to log exceptions in appengine?如何在 appengine 中记录异常?
【发布时间】:2011-08-22 03:12:40
【问题描述】:
try:
#do something that raises an exception...
except:
logging.error('Error Message')
我想在日志中显示的不仅仅是“错误消息”。我也想在日志中查看回溯,或者至少是什么异常。我该怎么做?
谢谢!
【问题讨论】:
-
根据PEP8,你不应该真的有一个空的except: 子句,除非你重新raise-ing 错误。否则可能会引发意外异常,并且您的应用将继续运行,而不会意识到它处于完全软管状态。
标签:
python
google-app-engine
logging
error-handling
error-logging
【解决方案1】:
【讨论】:
-
还有一个很棒的 App Engine 工具,名为 ereporter,它会每天向您发送一封包含应用异常情况的电子邮件。
【解决方案2】:
这是我用来记录整个堆栈跟踪的:
import traceback
try:
# your code
except:
stacktrace = traceback.format_exc()
logging.error("%s", stacktrace)
【解决方案3】:
我认为这应该对你有所帮助
import logging
try:
#exception code
except Exception as e:
logging.error(e)
【解决方案4】:
您可以将日志记录详细信息设置为 Debug、Info、Warning、Error 或 Critical 并在您的应用程序中进行设置。 Debug 会给你很多细节。
import logging
logging.getLogger().setLevel(logging.DEBUG)
您可以在 appengine Web 控制台的 /logs 下获取特定过滤器的日志。