Stackdriver 日志记录 - 为什么我的负载在 Runtime V8 中没有正确显示
Stackdriver logging - Why is not my payload showing correctly in Runtime V8
我添加了一条简单的日志消息,我在 Stackdriver 中看到了日志。
但是有效负载不会拆分为单独的值。
问题是有效载荷显示为一个带有消息和有效载荷的大字符串。
我需要一个值列表,以便我可以查询 ex isValid 或 content。
如何将负载获取到 Stackdriver 日志记录中的值列表?
https://developers.google.com/apps-script/guides/logging#using_cloud_logging
// Log a JSON object at a DEBUG level. The log is labeled
// with the message string in the log viewer, and the JSON content
// is displayed in the expanded log structure under "jsonPayload".
var parameters = {
isValid: true,
content: 'some string',
timestamp: new Date()
};
console.log({message: 'Function Input', initialData: parameters});
更新
如果将项目降级为 ["运行timeVersion": "DEPRECATED_ES5"] 有效负载工作正常。
如果我 运行 在新的“Runtime Chrome V8”中进行项目,则有效负载无法正常工作。
我也遇到过同样的情况。在这种情况下,我使用 Logger.log
而不是 console.log
。所以请修改如下,再测试一下
发件人:
console.log({message: 'Function Input', initialData: parameters});
收件人:
Logger.log({message: 'Function Input', initialData: parameters});
结果:
当Logger.log
用于值时,得到以下结果。在这种情况下,即使启用了 V8 运行时,对象也会在 Stackdriver 中被解析。
注:
这是当前的解决方法。所以当这个问题解决后,我认为你可以使用console.log
。另外,我在问题跟踪器上发现了这个问题。
- https://issuetracker.google.com/issues/121303464
- 这在 2019 年 2 月 8 日处于“已修复”状态。但在当前阶段,该问题似乎再次出现。
- https://issuetracker.google.com/issues/133278375
参考:
我添加了一条简单的日志消息,我在 Stackdriver 中看到了日志。
但是有效负载不会拆分为单独的值。
问题是有效载荷显示为一个带有消息和有效载荷的大字符串。
我需要一个值列表,以便我可以查询 ex isValid 或 content。
如何将负载获取到 Stackdriver 日志记录中的值列表?
https://developers.google.com/apps-script/guides/logging#using_cloud_logging
// Log a JSON object at a DEBUG level. The log is labeled
// with the message string in the log viewer, and the JSON content
// is displayed in the expanded log structure under "jsonPayload".
var parameters = {
isValid: true,
content: 'some string',
timestamp: new Date()
};
console.log({message: 'Function Input', initialData: parameters});
更新
如果将项目降级为 ["运行timeVersion": "DEPRECATED_ES5"] 有效负载工作正常。
如果我 运行 在新的“Runtime Chrome V8”中进行项目,则有效负载无法正常工作。
我也遇到过同样的情况。在这种情况下,我使用 Logger.log
而不是 console.log
。所以请修改如下,再测试一下
发件人:
console.log({message: 'Function Input', initialData: parameters});
收件人:
Logger.log({message: 'Function Input', initialData: parameters});
结果:
当Logger.log
用于值时,得到以下结果。在这种情况下,即使启用了 V8 运行时,对象也会在 Stackdriver 中被解析。
注:
这是当前的解决方法。所以当这个问题解决后,我认为你可以使用
console.log
。另外,我在问题跟踪器上发现了这个问题。- https://issuetracker.google.com/issues/121303464
- 这在 2019 年 2 月 8 日处于“已修复”状态。但在当前阶段,该问题似乎再次出现。
- https://issuetracker.google.com/issues/133278375
- https://issuetracker.google.com/issues/121303464