Chrome扩展:获得当前控制台发送到服务器

Chrome Extensions: Get Current Console to Send Up to Server

本文关键字:控制台 服务器 扩展 Chrome      更新时间:2023-09-26

是否可以以任何形式获得控制台的当前输出?

例如,如果在用户机器上的测试失败时,我可以调用这样的代码,这将非常有利于我的调试目的:

console.trace()
output = console.dump()
$.post("https://<myserver>/debug/logs", { "console" : output } );

封装当前控制台输出并将其发送到服务器。

在更一般的意义上,我希望包含一个提交错误报告的按钮,并且希望每个错误报告都包含尽可能多的上下文数据。

完全披露:我知道我可以避免调用console.log(),而是调用我自己专门的日志函数来存储/上传错误日志。我包括console.trace()行来激励为什么这个中间步骤解决方案不理想,但最终我不想这样做的原因是因为我正在构建一个可以立即在任何扩展中使用的通用调试模块(因此使用console.logconsole.error的普通开发人员将能够插入一或两行来设置远程调试)。

我认为这在Chrome中是不可能的。您可以使用方便的console.dir()命令来查看控制台可用的功能。我没有看到任何东西可以从控制台获取任何文本。

你得到这样的列表:

console.dir(console)