将Chrome中的console.log保存到文件中
有谁知道一种方法来保存在Chrome中的console.log输出到文件? 或者如何将文本复制出控制台?
假设您正在运行几个小时的functiontesting,并且您在Chrome中获得了数千行console.log输出。 你如何保存或导出?
我需要做同样的事情,这是我find的解决scheme:
-
使用标志从命令行启用日志logging :
--enable-logging --v=1
这会loggingChrome在内部执行的所有操作,但也会logging所有
console.log()
消息。 该日志文件称为chrome_debug.log
,位于User Data Directory
。 -
过滤使用
CONSOLE(\d+)
行的日志文件。
请注意,控制台日志不会与--incognito
显示。
好消息
Chrome开发工具现在允许您将控制台输出本地保存到文件中
- 打开控制台
- 右键点击
- 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控制台中看到的错误和警告。