Stackdriver Logging无法正确处理Google Cloud Function中的python quit(code)堆栈跟踪,还有其他选择吗?

时间:2018-11-07 09:58:36

标签: google-cloud-functions stackdriver python-3.7 google-cloud-stackdriver

我有一个用python37编写的google cloud函数,对于某些情况,我记录了一个错误(使用日志记录),然后使用quit(code)结束了函数执行。 错误日志记录已正确记录在stackdriver中。问题是堆栈驱动程序如何处理quit()。您将在捕获中看到,它将把stacktrace中的每一行记录为日志条目进行处理。当我使用sys.exit(code)或提高SystemExit(code)时,会发生相同的事情。 最后,云功能以0退出,就好像没有错误存在一样。 有人有办法在出错后停止云功能吗?那么关于stackdriver行为的任何解释都将很棒。

谢谢!

enter image description here

1 个答案:

答案 0 :(得分:0)

由于此推文,我解决了这个问题:多么幸运! https://twitter.com/iamdevloper/status/1060067235316809729

解决方案在此处的文档中:https://cloud.google.com/functions/docs/monitoring/error-reporting

并使用:提高RuntimeError('我失败了你')解决了我的问题。很好的教训和提醒:)