try:
#do something that raises an exception...
except:
logging.error('Error Message')
我想要的不仅仅是“错误消息”显示在日志中。我想在日志中看到回溯,或至少是什么异常。我怎么做?如何在appengine中记录异常?
谢谢!
try:
#do something that raises an exception...
except:
logging.error('Error Message')
我想要的不仅仅是“错误消息”显示在日志中。我想在日志中看到回溯,或至少是什么异常。我怎么做?如何在appengine中记录异常?
谢谢!
logging.exception(msg[, *args])
日志与根记录器电平错误的消息。参数解释为debug()。异常信息被添加到日志消息中。这个函数只能从异常处理程序中调用。
http://docs.python.org/library/logging.html#logging.exception
还有一个名为[ereporter](http://code.google.com/appengine/articles/python/recording_exceptions_with_ereporter.html)的App引擎真棒工具,它会向您发送一封来自应用程序的例外电子邮件。 – Calvin 2011-05-10 03:34:34
您可以将日志记录详细信息设置为Debug,Info,Warning,Error或Critical,并在您的应用程序中进行设置。调试会给你很多细节。
import logging
logging.getLogger().setLevel(logging.DEBUG)
而且您可以在/ logs下的appengine Web控制台中获取特定过滤器的日志。
我想这应该帮助你
import logging
try:
#exception code
except Exception as e:
logging.error(e)
这是我用来登录整个堆栈跟踪:
import traceback
try:
# your code
except:
stacktrace = traceback.format_exc()
logging.error("%s", stacktrace)
根据[PEP8(HTTP:// www.python.org/dev/peps/pep-0008/),除非你重新提出错误,否则你不应该有一个空的'except:'子句。否则可能会引发一个意外的异常,并且您的应用程序会继续运行,但不知道它处于完全水封状态。 – Calvin 2011-05-10 03:31:28
是的,那是对的。谢谢! – Albert 2011-05-10 06:13:47