1

在我目前正在处理的应用程序(2.7 运行时)中,我试图确保在我的应用程序中正确处理 API 级别的异常(即不是我的代码)。但是,Google/AppEngine 似乎在内部处理了这些异常,并没有将它们冒泡。例如,使用Thingwhich 是先前定义的ndb.Model

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

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

将数据存储到 blobstore 时也会发生类似的事情,其中​​异常显然是在内部捕获和引发的,而我没有机会记录这些异常。

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

4

1 回答 1

1

实际上 App Engine 会记录每个请求。只需转到应用程序的仪表板并单击Logs

如果你想自己记录一些东西,你应该使用日志库,你可以在文档中阅读更多关于它的信息

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

于 2013-04-04T13:01:36.287 回答