如何让Google Chrome扩展隐藏的“[object Object]”数据记录在“chrome_debug.log”中?

如何让Google Chrome扩展隐藏的“[object Object]”数据记录在“chrome_debug.log”中?

在 Chrome 中,我可以通过右键单击页面并选择“检查”,然后单击“控制台”选项卡,并在特定网站中向下滚动一点来观察网站的 JavaScript/数据。我可能会看到类似以下内容:

检查控制台示例

我想找到一种方法来将此 JavaScript 信息记录到日志中,果然,有一种方法可以实现这一点。右键单击 Chrome 快捷方式,然后将“目标”设置为以下内容:

C:\Program Files\Google\Chrome\Application\chrome.exe" --enable-logging --v=1

然后 Chrome 会继续更新日志文件,更新时间为:

C:/Users/[USERNAME]/AppData/Local/Google/Chrome/User Data/chrome_debug.log

现在问题来了。在日志中,我看到:

[53942:74227:4921/203256.143:INFO:CONSOLE(3)] "%c Game %c AppInsights.trackEvent: CaseD background: #404040; color: white; display: block; font-weight: bold; background: #FFFFFF; color: #8A8A8A; display: block; [object Object]", source: https://examplesite.com/longtail.js (3)

[object Object]位是隐藏上图中给出的信息的部分。我可以向 Chrome 快捷方式目标添加什么标志,以便[object Object]扩展到图像中显示的信息?例如,我希望 chrome_debug.log 文件还记录值为“1”和“K948”的“BoxIndex”和“Cid”字符串。

我尝试通过添加目标将详细程度增加到 3(甚至 8)--v=3,但无济于事。

我怀疑我的问题的答案就在这个巨大的页面上命令行开关。但是,太多了,无法手动检查。有人知道我需要将什么添加到 Chrome 快捷方式目标才能实现我想要的效果吗?

答案1

Chrome 似乎没有自动执行此操作的方法。这可能是故意的,因为对象可能非常大 - 最大可达整个 HTML 页面。

您需要使用 JavaScript 自行打印对象。您可以使用 Greasemonkey/Tampermonkey 等扩展程序修改目标站点的 JavaScript 代码。您还可以使用开发人员工具添加自己的代码(有一些限制)。

有关 JavaScript 的想法,请参阅文章 console.log(result) 返回 [object Object]。如何获取 result.name?

答案2

而不是console.log(AppInsights.trackEvent)尝试

console.log(...Object.entries(AppInsights.trackEvent).flat())

事实证明


console.log({
  BoxIndex: "1",
  cid: "K948",
  CorrelationID: "4525d95d-e4dc-804e-bff3-4b6ba43f531c"
  ...
})

进入

console.log("BoxIndex", "1", "cid", "K948", "CorrelationID", "452...)

因此你的信息应该在日志中可见。

相关内容