我正在开发一个项目,其中某个库每次刷新都会调用 console.trace。然后 Chrome 会自动展开跟踪,因此它在控制台上占用了 20 多行。
这占用了太多空间,我宁愿默认折叠它,只有当我点击它时才展开,就像 JS 控制台中的其他所有内容一样。
可以在 Google Chrome 中完成此操作吗?最好不要使用扩展程序?我查看了所有选项,但似乎无法禁用。
答案1
这是 2017 年错误报告的主题
问题 677929:DevTools:console.trace 默认扩展了堆栈跟踪。
该漏洞在 2018 年被标记为已修复,然后在 2019 年被报告再次出现,再次被标记为已修复,在 2019 年被报告再次出现,也有用户报告称 2020 年和 2021 年仍然存在。
所有这些报告都没有改变错误状态“已修复(已关闭)”,因此 Chromium/Chrome 的修复希望不大。您可以尝试打开新的错误报告。
解决方法是,您可以右键单击跟踪前面的小箭头并选择隐藏来自此来源的所有消息的选项,以隐藏来自此来源的所有消息。
若要在 JavaScript 中执行此操作,您可以定义自己的
console.trace
。此解决方法是在 2017 年关于同一主题的另一份错误报告中提出的,其状态为“WontFix(已关闭)”
问题 697203:console.trace() 自动扩展,导致控制台膨胀:
if(window.console && console.trace) {
var oldTrace = console.trace;
console.trace = function(msg) {
console.groupCollapsed(msg || 'trace');
oldTrace.apply(this);
console.groupEnd();
}
}
答案2
console.groupCollapsed('name to show to identify trace');
console.log('additional data hidden inside collapsed group');
console.trace(); // hidden in collapsed group
console.groupEnd();