当我在应用中记录错误时,AppEngine可以自动向我发送电子邮件吗?

时间:2019-05-11 18:26:15

标签: google-app-engine logging notifications

我在GAE标准环境中有一个python应用程序,我使用内置的python日志记录api记录错误:

logging.error('some error')

然后该错误作为错误日志项正确显示在StackDriver Logging中。

是否可以在某处进行设置,以便在将新的错误日志项添加到StackDriver Logging中时收到电子邮件通知?

请注意,我并不是指StackDriver错误报告页面。那是另一回事,上面的错误不会在那里出现,因为对于StackDriver错误报告项AFAIK,我需要使用一些特定的API调用。

我的意思是出现标准Python日志的StackDriver Logging查看器。我可以在此处设置通知,以便当StackDriver Logging从我的python应用程序收到错误日志项时收到电子邮件吗?

2 个答案:

答案 0 :(得分:0)

我找到了解决方案,logging.error没有出现在StackDriver错误报告中,但是logging.exception出现了。

因此,解决方案是在代码中引发异常,然后使用logging.exception捕获该异常。在这种情况下,错误将转到StackDriver错误报告,您会收到通知(因为日志项具有堆栈跟踪,因此它知道这是一个错误)。

或者,您不必捕获自己的异常,可以让它运行,也可以在这种情况下收到通知,但是服务器返回500,因此通过捕获它,您可以更优雅地退出。

答案 1 :(得分:0)

您可以从Google云控制台使用Error Reporting Subscribing to notifications

使用[AppEngine LogService] [2],您可以从appengine / stackdriver获取所有错误日志,并且需要将cron job设置为获取错误日志并发送包含该错误的电子邮件。

https://stackoverflow.com/a/21655135/8055450