web-dev-qa-db-fra.com

Chrome debugger - comment désactiver le regroupement des messages console.log?

Dis, dans mon Google Chrome je fais ceci:

console.log(msg);

et le débogueur Chrome regroupe des messages similaires comme ceci:

enter image description here

Y en a-t-il pour l'éteindre et afficher les messages tels qu'ils sont?

25
c00000fd

Il ne réduit que les lignes consécutives identiques, je ne vois pas autant de problème, mais avec le bouton Paramètres dans le coin supérieur droit de la console, vous pouvez activer 'Afficher les horodatages' qui les mettront sur des lignes différentes:

enter image description here

Vous pouvez voir qu'ils ne réduisent que les doublons consécutifs avec ceci:

msgs = ['hello', 'world', 'there'];
for (i = 0; i < 20; i++) console.log(msgs[Math.floor((i/3)%3)]) 

console api a beaucoup d'autres fonctions qui pourraient vous aider à suivre votre code. Par exemple, console.count(label) étiquette le journal avec un nombre de fois où il a été enregistré, console.group() vous permet de regrouper les autres appels de journalisation et console.timeline(label) vous permet de regrouper les journaux dans un chronologie.

33
Jason Goemaat

Quelqu'un a eu le même problème là-bas: Google Chrome journalisation de la console des outils de développement… presque inutile? sans réponse pour désactiver cette fonctionnalité.

Pour contourner ce problème, vous pouvez activer Afficher les horodatages pour la console dans les paramètres de l'outil de développement.

2
Volune

Les messages ne sont regroupés avec les précédents que s'ils sont identiques.
Pour éviter que les messages ne soient réduits, vous pouvez soit alterner les niveaux de journal, soit utiliser une sortie de journal alternative.

console.log et console.debug sont visuellement similaires dans les devtools de Chrome (c'est-à-dire qu'il n'y a pas d'icône devant). Si vous n'utilisez pas le filtre de verbosité, alternez entre console.log et console.debug résoudra votre problème:

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);
}

L'autre façon d'obtenir le résultat souhaité est d'insérer un caractère invisible devant le message (remarque: j'utilise %s pour empêcher qu'un espace supplémentaire n'apparaisse (voir options de formatage devtools ), et aussi un ZWSP pour empêcher tout caractère visuel d'apparaître):

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);
}

Démo: http://jsfiddle.net/x3725j38/1/

1
Rob W