Google chrome 将Chrome中的console.log保存到一个文件中
有人知道如何将Chrome中的console.log输出保存到文件中吗?或者如何从控制台复制文本Google chrome 将Chrome中的console.log保存到一个文件中,google-chrome,console,logging,Google Chrome,Console,Logging,有人知道如何将Chrome中的console.log输出保存到文件中吗?或者如何从控制台复制文本 假设您正在运行几个小时的功能测试,并且在Chrome中有数千行console.log输出。如何保存或导出它?我需要做同样的事情,这就是我找到的解决方案: 使用以下标志从命令行启用: --启用日志记录--v=1 这会记录Chrome内部所做的一切,但也会记录所有console.log()消息。日志文件名为chrome_debug.log,位于中 使用控制台(\d+)筛选获取的日志文件中的行 请注意,控
假设您正在运行几个小时的功能测试,并且在Chrome中有数千行console.log输出。如何保存或导出它?我需要做同样的事情,这就是我找到的解决方案:
--启用日志记录--v=1
这会记录Chrome内部所做的一切,但也会记录所有console.log()
消息。日志文件名为chrome_debug.log,位于中控制台(\d+)
筛选获取的日志文件中的行请注意,控制台日志不会随
--incognito
一起出现,这可能会有帮助,也可能没有帮助,但在Windows上,您可以使用Windows事件跟踪来读取控制台日志
我们的集成测试在.NET中运行,因此我使用此方法将控制台日志添加到测试输出中。我制作了一个示例控制台项目来演示:
--启用日志记录--在最新版本的Chrome上,v=1似乎不起作用。有一个开源javascript插件可以做到这一点,但对于任何浏览器-
Debugout.js记录并保存console.log,以便应用程序可以访问它们。完全公开,我写的。它可以适当地格式化不同的类型,可以处理嵌套对象和数组,并且可以选择在每个日志旁边放置时间戳。您还可以在一个位置切换实时日志记录,而无需删除所有日志记录语句。还有另一个开源工具,它允许您将所有
控制台.log
输出保存在服务器上的文件中-(plug!)
JS LogFlush是一个集成的JavaScript日志记录解决方案,包括:
- 无需跨浏览器UI即可在客户端替换console.log
- 日志存储系统-在服务器端
Chrome开发者说明。如果您在本地主机上运行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(您的_变量)?然后通过复制和粘贴(删除外部引号)获取内容。我也在网站上发布了同样的答案:为了更好地使用日志文件(无需Chrome调试),请使用:
而不是
--v=1
这信息太多了
它仍然会像你通常在Chrome控制台中看到的那样提供错误和警告
2020年5月18日更新:事实上,我认为这不再是事实。无论这个日志级别是什么,我都找不到控制台消息。我找到了一个很好的方法来实现这一点
在控制台中,右键单击控制台记录的对象
单击“存储为全局变量”
请参见新变量的名称-例如,它是variableName1
在控制台中键入:JSON.stringify(variableName1)
复制变量字符串内容:例如{“a”:1,“b”:2,“c”:3}
转到某个JSON在线编辑器:
e、 g
现在很容易-右键单击控制台日志中显示的任何项目,然后选择“另存为”,并将整个日志输出保存到计算机上的一个文件中。在Linux上(至少),您可以在环境中设置CHROME\u log\u文件,让CHROME在每次运行时将控制台活动的日志写入指定文件中。每次chrome启动时,日志都会被覆盖。这样,如果您有一个运行chrome的自动会话,您就不需要更改chrome的启动方式,并且会话结束后日志就在那里
导出CHROME\u LOG\u FILE=CHROME.LOG此线程中的其他解决方案在我的mac上不起作用。下面是一个记录器,它使用ajax间歇性地保存字符串表示。与console.save一起使用,而不是console.log
var logFileString=“”;
var maxLogLength=1024*128;
console.save=function(){
var logArgs={};
对于(var i=0;i对于谷歌Chrome 84.0.4147.105及更高版本
只需右键单击并单击“另存为”和“保存”
然后,将保存txt文件
右键直接单击要复制的记录值
在右键菜单中,选择“存储为全局变量”
您将在控制台的下一行看到保存为类似“temp1”的值
在控制台中,键入copy(temp1)
并点击return(用上一步中的变量名替换temp1
)。现在记录的值被复制到剪贴板
将值粘贴到所需的任何位置
如果您不想在Chrome中更改标志/设置,也不想处理JSON字符串化和解析等问题,那么这是一种特别好的方法
更新:我刚刚发现了我建议使用的图像的解释,更容易理解看,它似乎在我的mac操作系统上不起作用,有内部日志,但没有Console.log…这不会将Console.log信息保存到日志文件中。在Windows 8中。在mac上,我在~/Library/Application Support/Google/Chrome/ch找到了日志文件rome_debug.log这仍然适用于我在OSX 10.10.3/Applications/Google\Chrome.app/Contents/MacOS/Google\Chrome--enable logging--v=1
中保存在~/Library/Application Support/Google/Chrome/Chrome_debug.log中的日志
--enable-logging --log-level=0