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

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


当前回答

谷歌Chrome版本84.0.4147.105及以上,

右键点击,另存为,然后保存

然后保存TXT文件

其他回答

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

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

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

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

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

Demo

谷歌Chrome版本84.0.4147.105及以上,

右键点击,另存为,然后保存

然后保存TXT文件

如果在本地主机上运行Apache服务器(不要在生产服务器上执行此操作),还可以将结果发布到脚本中,而不是将其写入控制台。

所以,你可以这样写:

JSONP('http://localhost/save.php', {fn: 'filename.txt', data: json});

那么save。php就可以做到这一点

<?php

 $fn = $_REQUEST['fn'];
 $data = $_REQUEST['data'];

 file_put_contents("path/$fn", $data);

为了更好的日志文件(没有chrome调试的废话)使用:

--enable-logging --log-level=0

而不是 -v=1,信息量太大了。

它仍然会提供错误和警告,就像你通常在Chrome控制台中看到的那样。

2020年5月18日更新:实际上,我认为这不再是真的。无论日志级别是什么,我都找不到控制台消息。