如何使用console.trace()记录js堆栈跟踪,但保持折叠状态

use*_*699 9 javascript stack-trace google-chrome-devtools

我想在我的应用程序中记录某些函数调用的堆栈跟踪.我喜欢console.trace()呈现数据的方式,但它总是吐出来扩展到控制台.如果你有几十个日志,这很快就会变得混乱.

有人建议使用log Error().stack,其他的console.error(),其他人使用Error.captureStackTrace().但所有这些都有我不喜欢的东西.console.error使控制台变得混乱,很难看到真正的错误.其他人没有打印出漂亮或可用的堆栈.

应该有一种方法可以简单地让console.trace()默认为折叠.

use*_*699 19

答案是使用console.groupCollapsed();

    console.groupCollapsed('name to show to identify trace');
    console.log('additional data hidden inside collapsed group');
    console.trace(); // hidden in collapsed group
    console.groupEnd();
Run Code Online (Sandbox Code Playgroud)

在控制台中看起来像这样.(在chrome中工作,不确定其他人)

在此输入图像描述

  • 这是一个很好的解决方案,但存在一个问题,即无法按级别(错误、警告、信息、详细)和过滤文本框中的文本过滤掉该组。此问题如下所述:/sf/ask/2703451061/ (4认同)