Отладчик Chrome - как отключить группу сообщений console.log?
Скажем, в моем расширении Google Chrome я делаю это:
console.log(msg);
а отладчик Chrome группирует похожие сообщения:
![enter image description here]()
Есть ли что-нибудь, чтобы отключить его и отправлять сообщения так, как они есть?
Ответы
Ответ 1
Он только сворачивает последовательные строки, которые идентичны, я не вижу в этом такой же проблемы, но с кнопкой настроек в правом верхнем углу консоли вы можете включить "Показывать временные метки", которые будут помещать их в разные строки:
![enter image description here]()
Вы можете видеть, что они просто сворачивают последовательные дубликаты с помощью этого:
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)
позволяет группировать журналы на временной шкале.
Ответ 2
У кого-то была такая же проблема: Ведение журнала консоли разработчика Google Chrome... почти бесполезно? без ответа, чтобы отключить эту функцию.
В качестве обходного пути вы можете включить Show timestamps для консоли в настройках инструмента разработчика.
Ответ 3
Сообщения только свернуты с предыдущим, если они идентичны.
Чтобы предотвратить сбой сообщений, вы можете либо чередовать уровни журналов, либо использовать альтернативный выход журнала.
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);
}
Демо: http://jsfiddle.net/x3725j38/1/