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

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


当前回答

如果在本地主机上运行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);

其他回答

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

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

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

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

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

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

chrome://net-export/

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

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

出口CHROME_LOG_FILE = chrome.log

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

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

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

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

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

一个好消息

Chrome开发工具现在允许您将控制台输出保存到本地文件

打开控制台 右键单击 选择“另存为…”

Chrome开发者说明在这里。