Google cloud platform 谷歌云功能丢失日志问题

Google cloud platform 谷歌云功能丢失日志问题,google-cloud-platform,google-cloud-functions,stackdriver,Google Cloud Platform,Google Cloud Functions,Stackdriver,我有一个小的python CF,它包含了一个PubSub主题,应该使用sendgrid API发送一些电子邮件 CF可以根据提供的环境变量(CF\u FUNCTION\u NAME)动态加载和运行函数(monorepo架构): #main.py 导入日志记录 导入操作系统 从导入lib导入模块 def get_函数(函数名称): 返回getattr(导入_模块(f“functions.{function_name}”)、function_name) def不执行任何操作(*参数): 返回“无函数

我有一个小的python CF,它包含了一个PubSub主题,应该使用sendgrid API发送一些电子邮件

CF可以根据提供的环境变量(
CF\u FUNCTION\u NAME
)动态加载和运行函数(monorepo架构):

#main.py
导入日志记录
导入操作系统
从导入lib导入模块
def get_函数(函数名称):
返回getattr(导入_模块(f“functions.{function_name}”)、function_name)
def不执行任何操作(*参数):
返回“无函数”
cf_function_name=os.getenv(“cf_function_name”,False)
disable_logging=os.getenv(“CF_disable_logging”,False)
def运行(*参数):
如果未禁用\u日志记录和cf\u函数\u名称:
导入google.cloud.logging
client=google.cloud.logging.client()
client.get\u默认\u处理程序()
client.setup\u日志()
打印(“已启用日志记录”)
cf=如果cf\u函数名称不起作用,则获取函数(cf\u函数名称)
返回cf(*args)
除了与Stackdriver日志记录相关的一些问题外,这一切正常:

  • 打印语句“Logging enabled”应该在每次调用时打印,但只打印一次
  • 日志中缺少动态加载函数中显示的异常,而日志只是显示“已完成,状态为崩溃”,这不是很有用
多个后续执行的stackdriver日志屏幕截图:

这里有我遗漏的东西吗? 我的函数动态加载是否在某种程度上干扰了日志记录


谢谢。

我看这里没有任何问题。首次加载函数时,将创建一个实例并启用日志记录(日志记录跟踪)。然后,实例将一直保持到它被逐出(不可预测!)

如果要查看多个跟踪,请同时执行两个调用。云函数实例一次只能处理一个请求。2个并行调用意味着另一个实例的创建,因此,一个新的日志初始化


关于例外,同样的事情。如果不捕获并打印它,则不会记录任何内容。抓住他们

一个月以来,云函数和Python似乎出现了一个问题,错误不会通过回溯自动记录并正确归类为“错误”: