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

eee*_*jay 160 console logging google-chrome

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

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

ada*_*ign 174

好消息

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

  1. 打开控制台
  2. 右键点击
  3. 选择"另存为..."

将控制台保存到文件

Chrome开发者说明这里.

  • 这似乎不会复制堆栈跟踪 (10认同)
  • 请注意,这不会展开对象-仍会以截断形式打印大对象,例如`{a:1,b:2,c:3,...}`。 (6认同)
  • 可以使用键盘快捷键或在控制台上运行命令来完成吗? (2认同)
  • 你能再次在控制台中打开那个文件吗?如果是这样,你怎么这样? (2认同)

Wal*_*lla 91

我需要做同样的事情,这是我找到的解决方案:

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

    --enable-logging --v=1

    这会记录Chrome内部执行的所有操作,但它也会记录所有console.log()消息.日志文件被调用chrome_debug.log并位于User Data Directory.

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

请注意,控制台日志不会出现--incognito.

  • 这不会将console.log信息保存到日志文件中.在Windows 8中. (7认同)
  • 在Mac上,我在〜/ Library/Application Support/Google/Chrome/chrome_debug.log中找到了日志文件 (4认同)
  • 除了内部 chrome 日志之外,我什么也没有得到。我的 `console.log()` 行在该文件中无处可见。任何人都可以解决这个问题? (4认同)
  • 似乎它在我的Mac OS上不起作用,有内部日志,但没有Console.log ... (3认同)
  • 这仍然适用于OSX 10.10.3`/Applications/Google\Chrome.app/Contents/MacOS/Google\Chrome --enable-logging --v = 1`,日志保存在`〜/ Library/Application Support /谷歌/铬/ chrome_debug.log` (2认同)

ino*_*nik 26

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

Debugout.js记录并保存console.logs,以便您的应用程序可以访问它们.完全披露,我写了.它适当地格式化不同的类型,可以处理嵌套对象和数组,并且可以选择在每个日志旁边放置一个时间戳.您还可以在一个位置切换实时日志记录,而无需删除所有日志记录语句.

  • 作为参考,尽管这看起来像一个很棒的工具,它不会捕获浏览器的输出,比如图像加载失败时,或其他内置控制台输出,并且它要求您使用特殊语法重写日志语句. (3认同)
  • 干得好的伙计,正是我需要的.谢谢! (2认同)

Com*_*ine 16

我找到了一个很好的方法.

  1. 在控制台中 - 右键单击​​控制台记录的对象

  2. 点击"存储为全局变量"

  3. 查看新变量的名称 - 例如,它是variableName1

  4. 在控制台中输入:JSON.stringify(variableName1)

  5. 复制变量字符串内容:例如{"a":1,"b":2,"c":3}

在此输入图像描述

  1. 转到一些JSON在线编辑器:例如https://jsoneditoronline.org/

在此输入图像描述


Eds*_*ala 8

对于 Google Chrome 版本 84.0.4147.105 及更高版本,

只需右键单击并单击“另存为”和“保存”

然后,txt文件将被保存

在此输入图像描述


Jar*_*lls 7

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

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

我们的集成测试在.NET中运行,因此我使用此方法将控制台日志添加到测试输出中.我已经制作了一个示例控制台项目来演示:https://github.com/jkells/chrome-trace

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


Joh*_*nP2 7

为了更好的日志文件(没有Chrome-debug废话),请使用:

--enable-logging --log-level=0
Run Code Online (Sandbox Code Playgroud)

而不是 --v=1太多的信息.

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


use*_*992 5

有很多好的答案,但为什么不直接使用 JSON.stringify(your_variable) 呢?然后通过复制和粘贴获取内容(删除外部引号)。我也在以下位置发布了相同的答案:How to save the output of a console.log(object) to a file?