Javascript 如何使用console.trace()记录js堆栈跟踪,但将其折叠
我想在我的应用程序中记录某些函数调用的堆栈跟踪。我喜欢console.trace()显示数据的方式,但它总是将数据吐出到控制台。如果你有几十个日志,那么很快就会变得一团糟 一些人建议使用log Error().stack,其他人建议使用console.Error(),其他人建议使用Error.captureStackTrace()。但所有这些都有我不喜欢的东西。console.error使控制台混乱,很难看到真正的错误。其他人没有打印出好的或可用的堆栈Javascript 如何使用console.trace()记录js堆栈跟踪,但将其折叠,javascript,google-chrome-devtools,stack-trace,Javascript,Google Chrome Devtools,Stack Trace,我想在我的应用程序中记录某些函数调用的堆栈跟踪。我喜欢console.trace()显示数据的方式,但它总是将数据吐出到控制台。如果你有几十个日志,那么很快就会变得一团糟 一些人建议使用log Error().stack,其他人建议使用console.Error(),其他人建议使用Error.captureStackTrace()。但所有这些都有我不喜欢的东西。console.error使控制台混乱,很难看到真正的错误。其他人没有打印出好的或可用的堆栈 应该有一种方法可以简单地将console.
应该有一种方法可以简单地将console.trace()默认设置为collapsed。答案是使用console.groupCollapsed() 在控制台中看起来像这样。(在chrome中工作,不确定其他人)
控制台。错误
可能对您有效。
它显示所有日志都已折叠
console.trace
以下是相同的日志,但带有跟踪。默认情况下,它们会展开
不要担心.error
调用中日志的两个看似不同的扩展变体。它们在.trace
和.error
调用的相同折叠或展开状态下看起来相同
您可能会担心日志级别的过滤,这是一个合理的问题。为此,我只能建议您在日志前添加一个唯一的可搜索字符串,以将其过滤掉或过滤进去。这是一个很好的解决方案,但存在一个问题,即无法按级别(错误、警告、信息、详细信息)和过滤文本框中的文本过滤掉该组。本问题描述如下:
console.groupCollapsed('name to show to identify trace');
console.log('additional data hidden inside collapsed group');
console.trace(); // hidden in collapsed group
console.groupEnd();