Python 如何按执行对云函数日志项进行分组?
在GoogleAppEngine的第一代中,日志在LogsViewer和第二代中按请求自动分组 在后台云函数中,我找不到任何方法(通过日志查看器中的Python 如何按执行对云函数日志项进行分组?,python,google-cloud-platform,google-cloud-functions,google-cloud-stackdriver,Python,Google Cloud Platform,Google Cloud Functions,Google Cloud Stackdriver,在GoogleAppEngine的第一代中,日志在LogsViewer和第二代中按请求自动分组 在后台云函数中,我找不到任何方法(通过日志查看器中的executionId手动保存过滤)。从web上的各种文章中,我了解到关键是在调用Stackdriver日志API时将trace参数设置为跟踪ID,在HTTP上下文中,可以在X-Cloud-trace-Context头中找到该ID 后台上下文中没有标题(例如,从发布/订阅或存储触发器调用)。我尝试将其设置为任意值,例如函数上下文中的事件\u id,但
executionId
手动保存过滤)。从web上的各种文章中,我了解到关键是在调用Stackdriver日志API时将trace
参数设置为跟踪ID,在HTTP上下文中,可以在X-Cloud-trace-Context
头中找到该ID
后台上下文中没有标题(例如,从发布/订阅或存储触发器调用)。我尝试将其设置为任意值,例如函数上下文中的事件\u id
,但没有进行分组
下面是我如何尝试的一个缩影:
来自google.cloud.logging.resource导入资源
导入google.cloud.logging
log_name='cloudfunctions.googleapis.com%2Fcloud函数'
cloud\u client=google.cloud.logging.client()
cloud\u logger=cloud\u client.logger(日志名称)
请求\u id=None
def日志(消息):
标签={
“项目id”:“结算leif”,
“函数名称”:“组日志”,
“地区”:“欧洲西部1”,
}
资源=资源(type='cloud\u function',labels=标签)
trace_id=f'projects/solite leif/traces/{request_id}'
cloud\u logger.log\u文本(消息,trace=trace\u id,resource=resource)
def main(_数据,上下文):
全局请求\u id
请求\u id=context.event\u id
日志('第一条消息')
日志('第二条消息')
目前这是可能的
我们的路线图上有提供这种支持的内容:太好了。非常感谢。这在我们的路线图上,请参见