AppEngine Python API异常处理

时间:2013-04-04 12:41:57

标签: python google-app-engine

在我正在处理的应用程序(2.7运行时)中,我正在尝试确保在我的应用程序中正确处理API级别的异常(即不是我的代码)。但是,似乎Google / AppEngine在内部处理这些异常并且不会使它们冒泡。例如,使用先前定义的Thing

ndb.Model
t = Thing(id=1,name='thingy')
try:
   t.put()
except Exception as e:
   self.log(e)
   self.abort(500)

如果put()出现问题,我无法捕捉/记录该事件 - 或者是否存在?

类似的事情发生在将数据存储到blobstore中,显然,异常在内部被捕获和引发,并且没有机会让我记录这些异常。

也许我错过了一个关键点?我查看了API文档,但服务引发的异常以及如何捕获它们似乎并不是文档团队的优先事项。

1 个答案:

答案 0 :(得分:1)

实际上App Engine会记录每个请求。只需转到应用程序的仪表板,然后单击日志

如果您想自己记录某些内容,则应使用日志记录库,您可以在documentation中阅读更多相关信息。

因此,您应该使用self.log而不是logging.error