【问题标题】:Google Chrome follow developer console logging谷歌浏览器关注开发者控制台日志
【发布时间】:2013-02-21 05:24:11
【问题描述】:

我在我的 javascript 中使用console.log很多来调试鼠标移动事件。我遇到的问题是,当在 chrome 控制台中时,没有遵循新条目。

在这些屏幕截图中得到了最好的说明:

第一批日志很好,因为它大到可以在屏幕上看到所有日志:

几秒钟后:

日志已超出需要我滚动的窗口大小。

这使得调试鼠标移动事件变得异常困难,因为我必须移动到控制台并向下滚动,从而在日志中添加更多条目。

所以我的问题是:我怎样才能让 chrome 从本质上跟踪日志而不是停止并要求我滚动。

【问题讨论】:

  • 您可以将每个事件压缩成一个信息对象,您可以在控制台中展开该对象以获取更多信息。此外,制作一个检测快捷键的功能,以暂时阻止记录
  • 我曾想过发出一个键盘命令来停止记录。不过我不太喜欢这个解决方案。
  • 使用Ctr+L 来清除日志,这样您就不必滚动了怎么样?
  • 仍然遇到这个错误。还有其他人吗?
  • 最后我接受了 MackieeE 的建议,我做了两个事件,一个是开始记录,一个是停止记录。 Stop 也显示了日志。

标签: google-chrome logging console


【解决方案1】:

在控制台打开的情况下,将滚动条向下拖动到窗口底部并松开。它应该为您输出尾随。

我尝试了好几次才让它在Version 27.0.1438.7 dev-m 中工作。但在Version 27.0.1440.0 canary 中,它不仅自动发生,而且我每次尝试都可以重新附加自动滚动。

你可以从here下载Canary。

【讨论】:

  • 我正在使用25.0.1364.172 stable 版本。您的方法在此版本上适用于一些日志记录,然后 chrome 丢失了日志,我将尝试金丝雀版本。
【解决方案2】:

默认行为是控制台在进入时跟踪(尾)日志。

但是,我们在 DevTools 中有一个错误,如果您更改缩放系数 (cmd++),它并不总是有效。

我们刚刚解决了这个问题:https://codereview.chromium.org/180733003/ 你需要 canary 一段时间(从这篇文章发布之日起),但它会在大约 10 周内达到稳定状态。

【讨论】:

  • 感谢您查找刚好一岁的帖子:D 我不记得在处理此问题时使用过缩放。我认为问题是由于正在进行的大量日志记录。有一段时间我不需要在 chrome 上进行任何激烈的登录。当机会出现时,我会再次测试并根据需要更新帖子。
【解决方案3】:

这里有一个相当有害的错误(只要我记得就存在于 Chrome 中),如果您记录任何类型的扩展项,如 DOM 元素或类似的东西,它会干扰日志的显示,并且导致滚动停止跟随。

我通过运用一点聪明才智解决了这个问题,并找到了有问题的日志,你甚至不需要删除日志语句,你只需要让它“更友好”。经常起作用的是我采用任何这样的日志语句,例如

console.log((mouse ? "mouse" : "touch") + " start on", jqtarg[0]);

并将其包装在一个数组中:

console.log([(mouse_not_touch ? "mouse" : "touch") + " start on", jqtarg[0]]);

您也可以尝试做其他事情,以使日志更具可读性,例如对象(尚未严格测试任何此类,它仍然可能导致烦人的滚动跟随失败) :

console.log({"mouse/touch start on": jqtarg[0]});

基于非常少量的测试,如果日志作为一个项目出现在日志缓冲区中,可以直接悬停(而不是要求您先手动展开它)以使检查器突出显示DOM 中的项目,那么它可能会触发“滚动锁定综合症”。

顺便说一句,需要注意的一件有用的事情是,如果您重复记录完全相同的内容,Chrome 会帮助“堆叠”它们,就像这样:(看到了吗?我通过将我的日志推入一个对象来修复自动滚动!耶!)

如果您真的不需要查看基于精确坐标的值,则打印更粗略的值...更粗略会导致更紧凑的日志(这仍然会给您提供合理的计数反馈)。

更新: 有时这些都不起作用。有时你只是不走运,你只需要清理所有不需要的日志并记录最少量的信息,以防止它超载并导致它无法向下滚动。

【讨论】:

  • Chrome 44 仍然有这个问题,至少在某些时候 - 我刚刚遇到了自动滚动的这个问题,并且从 console.log() 参数中删除 DOM 元素也为我解决了这个问题.
猜你喜欢
  • 2016-07-09
  • 2016-09-09
  • 2012-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-21
相关资源
最近更新 更多