说,在我的 Google Chrome 扩展程序中,我这样做:
console.log(msg);
Chrome 调试器将类似的消息分组如下:
有没有什么可以关闭它并按原样发布消息?
说,在我的 Google Chrome 扩展程序中,我这样做:
console.log(msg);
Chrome 调试器将类似的消息分组如下:
有没有什么可以关闭它并按原样发布消息?
它只会折叠相同的连续行,我认为这不是什么大问题,但是使用控制台右上角的设置按钮,您可以启用“显示时间戳”,这会将它们放在不同的行上:
您可以看到它们只折叠连续的重复项:
msgs = ['hello', 'world', 'there'];
for (i = 0; i < 20; i++) console.log(msgs[Math.floor((i/3)%3)])
该控制台API有很多其他的功能,可以帮助您按照您的代码。例如,console.count(label)
带有记录次数的日志标签,console.group()
让您可以将其他日志记录调用组合在一起,并console.timeline(label)
让您将日志分组到时间线中。
有人在那里遇到了同样的问题:Google Chrome 开发者工具控制台日志记录……几乎没用?没有答案禁用此功能。
作为解决方法,您可以在开发人员工具设置中为控制台启用显示时间戳。
仅当消息相同时,消息才会与之前的消息折叠。
为了防止消息被折叠,您可以交替日志级别,或使用交替日志输出。
console.log
并且console.debug
在 Chrome 的 devtools 中在视觉上相似(即它前面没有图标)。如果您不使用冗长过滤器,则在console.log
和之间交替console.debug
将解决您的问题:
console.log('message');
console.debug('message');
console.log('message');
// Convenience function:
function log() {
log.counter = log.counter ? log.counter + 1 : 1;
console[log.counter % 2 ? 'log' : 'debug'].apply(console, arguments);
}
获得所需结果的另一种方法是在消息前面插入一个不可见字符(注意:我%s
用来防止出现额外的空格(请参阅devtools 格式选项),还有一个 ZWSP 以防止任何可见字符出现在全部):
function log() {
log.counter = log.counter ? log.counter + 1 : 1;
var args = [].slice.call(arguments);
if (log.counter % 2) {
args.unshift('%s\u200B'); // ZWSP (zero-width space, you won't see it)
}
console.log.apply(console, args);
}