有人知道一种方法来保存控制台.log输出在Chrome到一个文件?或者如何从控制台复制文本?

假设你正在运行几个小时的功能测试,并且在Chrome中有数千行console.log输出。如何保存或导出?


当前回答

有一个开源的javascript插件可以做到这一点,但适用于任何浏览器- debugout.js

debug .js记录并保存控制台。日志,以便应用程序可以访问它们。坦白说,是我写的。它可以适当地格式化不同的类型,可以处理嵌套对象和数组,还可以在每个日志旁边添加时间戳。您还可以在一个地方切换实时日志记录,而不必删除所有日志记录语句。

其他回答

还有另一个开源工具,它可以让你把所有console.log输出保存在服务器上的一个文件中——JS LogFlush(插件!)。

JS LogFlush是一个集成的JavaScript日志解决方案,包括: 跨浏览器无ui替换console.log客户端。 日志存储系统-服务器端。

Demo

这个答案可能看起来特别相关,但对于Network Log,您可以访问下面的链接。

我发布这个答案的原因是,在我的情况下,console.log打印了一个长而短的文本,所以我无法从控制台获取值。我通过获得api响应来解决,我直接从网络日志中打印。

chrome://net-export/

在那里你可能会看到一个类似的窗口,只需按下Start Logging to Disk按钮,就是这样:

直接右键单击要复制的日志值 在右键菜单中选择“存储为全局变量” 您将在控制台上的下一行中看到保存为“temp1”之类的值 在控制台中,键入copy(temp1)并点击return(将temp1替换为上一步中的变量名)。现在记录的值被复制到剪贴板。 将值粘贴到您想要的任何位置

如果你不想在Chrome中更改标志/设置,也不想处理JSON字符串化和解析等,这是一种特别好的方法。

更新:我刚刚发现这个解释,我建议的图片更容易遵循https://scottwhittaker.net/chrome-devtools/2016/02/29/chrome-devtools-copy-object.html

这可能有帮助,也可能没有帮助,但在Windows上,您可以使用Windows事件跟踪读取控制台日志

http://msdn.microsoft.com/en-us/library/ms751538.aspx

我们的集成测试是在. net中运行的,所以我使用这个方法将控制台日志添加到测试输出中。我在这里创建了一个控制台项目示例:https://github.com/jkells/chrome-trace

——enable-logging——v=1在最新版本的Chrome上似乎不起作用。

在Linux上(至少),您可以在环境中设置CHROME_LOG_FILE,让chrome每次运行时都将控制台活动的日志写入命名文件。每次chrome启动时,日志都会被覆盖。这样,如果你有一个运行chrome的自动会话,你不需要改变chrome启动的方式,并且会话结束后日志就在那里。

出口CHROME_LOG_FILE = chrome.log