python - GCP Stackdriver 自定义代码
问题描述
我正在开发一个将日志发送到 GCP StackDriver 的应用程序。我想在我的日志条目中本地放置自定义“标签”(或汇总字段)。我正在寻找一种不依赖于在控制台中定义自定义汇总字段的解决方案,因为这些字段不是永久性的,也不是项目范围的。
我意识到一些记录器显示了标签。例如,GCF 日志将显示其execution_id
. 使用以下代码段,我可以验证显示的标签是否取决于记录器的名称:
from google.cloud import logging
client = logging.Client()
client.logger(name="custom").log_text("foobar", labels={"execution_id": "foo"})
client.logger(name="cloudfunctions.googleapis.com%2Fcloud-functions").log_text("foobar", labels={"execution_id": "foo"})
如果您在“foobar”上过滤日志,您会看到只有第二个条目有“foo”作为标签。
该标签与label.execution_id
代码中指定的标签匹配。问题是,我无法添加自定义标签,如果我添加另一个标签不是execution_id
,它不会显示为标签(但仍可在日志正文中找到)。
看起来每个受监控的资源都有自己的一组标签,即:BigQuery 资源protoPayload.authenticationInfo.principalEmail
用作标签。但我找不到指定我自己的资源的方法。
有人对这类问题有一些经验吗?
提前致谢
解决方案
推荐阅读
- javascript - Javascript不会在第一次按键时更新输入值
- javascript - \E 无法替换 from= '\E\\E\10.1.2.154\E\bcs\E\30877_P9999_Adult{2}_02_05_2019_0329p.pdf'
- c# - 使用正则表达式测试特定字符串
- c# - 如何计算使用 LINQ 设置的 JObject 中有多少字段?
- javascript - 错误:WebGL 警告:texImage2D:所需上传的数据比可用数据多:(加载带有三角形网格数据和法线的纹理时)
- android - 从内容 uri 读取文件时出现权限错误
- makefile - 如果函数中的条件 - Makefile
- c# - 如何在我的 c# android xamarin 项目中使用 google firebase
- c# - 缩写列表中给出的字符串
- python - 来自 SQLAlchemy 的加密数据库连接