将Chrome中的console.log保存到文件中

有谁知道一种方法来保存在Chrome中的console.log输出到文件? 或者如何将文本复制出控制台?

假设您正在运行几个小时的functiontesting,并且您在Chrome中获得了数千行console.log输出。 你如何保存或导出?

我需要做同样的事情,这是我find的解决scheme:

  1. 使用标志从命令行启用日志logging :

    --enable-logging --v=1

    这会loggingChrome在内部执行的所有操作,但也会logging所有console.log()消息。 该日志文件称为chrome_debug.log ,位于User Data Directory

  2. 过滤使用CONSOLE(\d+)行的日志文件。

请注意,控制台日志不会与--incognito显示。

好消息

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

  1. 打开控制台
  2. 右键点击
  3. select“另存为..”

将控制台保存到文件

Chrome开发者指示在这里 。

有一个开源的JavaScript插件可以做到这一点,但任何浏览器 – debugout.js

Debugout.jslogging并保存console.log,以便应用程序可以访问它们。 完全披露,我写了。 它适当地格式化不同的types,可以处理嵌套对象和数组,并且可以select在每个日志旁边放一个时间戳。 您也可以在一个位置切换实时logging,而不必删除所有日志logging。

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

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

我们的集成testing是在.NET中运行的,所以我使用这种方法将控制台日志添加到我们的testing输出中。 我做了一个示例控制台项目来演示: https : //github.com/jkells/chrome-trace

–enable-logging –v = 1似乎不适用于最新版本的Chrome。

还有另一个开源工具,它允许你保存所有的console.log输出到你的服务器上的一个文件 – JS LogFlush (plug!)。

JS LogFlush是一个集成的JavaScript日志解决scheme,其中包括:

  • 跨浏览器UI无需更换console.log – 在客户端。
  • 日志存储系统 – 在服务器端。

演示

如果您在本地主机上运行Apache服务器,则还可以将结果发布到脚本,而不是写入控制台。

所以,而不是console.log ,你可以写:

 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); 

很多很好的答案,但为什么不只是使用JSON.stringify(your_variable)? 然后通过复制和粘贴(删除外部引号)的内容。 我也发布了相同的答案: 如何将一个console.log(对象)的输出保存到一个文件?

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

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

而不是--v=1 ,这只是太多的信息。

它仍然会提供您通常在Chrome控制台中看到的错误和警告。