我正在尝试从Google Cloud run向云日志写入JSON格式的数据日志。 但当我在云日志中检查日志时,我的数据日志以字符串类型出现在jsonPayload的消息字段中
像
jsonPayload: {
message: "{"test": "testing"}"
python_logger: "cloudLogger"
}
但是,我所期望的
jsonPayload: {
test: "testing"
}
这是我试过的代码
client = google.cloud.logging.Client()
handler = CloudLoggingHandler(client, name="test")
cloud_logger = logging.getLogger('cloudLogger')
cloud_logger.setLvel(logging.INFO)
cloud_logger.addHandler(handler)
cloud_logger.info(json.dumps({"test": "testing"})
为了更改jsonPayload的格式,我想我可能需要设置一个格式化程序,我尝试了一些来自web的示例,但没有成功
如何使jsonPayload准确显示JSON格式的数据
在云日志中,结构化日志可以引用使用jsonPayload字段向其有效负载添加结构的日志条目
我们有多种方法将您的有效负载转换为JSON格式:
我们应该安装日志代理,要启用结构化日志,您必须在安装或重新安装时更改日志代理的默认配置 信息技术启用结构化日志将替换以前列出的配置文件。代理本身的操作没有变化
您可以通过以下方式将结构化日志写入日志:
启用结构化日志时,列出的日志将转换为与启用结构化日志之前不同格式的日志条目
请查看Structured logging了解更多详细信息
您还可以选中Formatting Python Logs for Stackdriver
云函数也有类似的问题。我使用了
python3.7
,使用了多个客户机日志库,stackdriver仍然以文本的形式显示,因为python正在以字符串格式打印它最终将python升级到
v3.8
,解决了这个问题相关问题 更多 >
编程相关推荐