237 votes

Enregistrez le fichier console.log de Chrome dans un fichier

Quelqu'un connaît-il un moyen d'enregistrer dans un fichier la sortie console.log de Chrome ? Ou comment copier le texte de la console ?

Supposons que vous exécutez quelques heures de tests fonctionnels et que vous avez des milliers de lignes de sortie console.log dans Chrome. Comment l'enregistrer ou l'exporter ?

3 votes

248voto

adardesign Points 6182

Bonne nouvelle

Les outils de développement de Chrome permettent désormais d'enregistrer la sortie de la console dans un fichier en mode natif.

  1. Ouvrez la console
  2. Cliquez à droite sur
  3. Sélectionnez "enregistrer sous "

save console to file

Instructions pour les développeurs Chrome aquí .

120voto

Waleed Points 685

J'avais besoin de faire la même chose et voici la solution que j'ai trouvée :

  1. Activer journalisation à partir de la ligne de commande en utilisant les drapeaux :

    --enable-logging --v=1

Cela permet d'enregistrer tout ce que Chrome fait en interne, mais aussi tout ce que le console.log() également des messages. Le fichier journal s'appelle chrome_debug.log et est situé dans le User Data Directory qui peut être remplacée en fournissant --user-data-dir=PATH ( plus d'infos ici ).

  1. Filtrez le fichier journal que vous obtenez pour les lignes avec CONSOLE(\d+) .

Notez que les journaux de la console n'apparaissent pas avec --incognito .

5 votes

Il semble que cela ne fonctionne pas sur mon mac os, il y a des journaux internes mais pas de Console.log...

8 votes

Cela n'enregistre pas l'information console.log dans le fichier journal. Sous Windows 8.

1 votes

Je n'arrive pas non plus à faire fonctionner ce système pour les messages console.log() - sous win7. Le fichier est bien créé, mais il s'agit d'une journalisation spécifique au chrome, pas à la console.

33voto

Combine Points 820

J'ai trouvé un moyen simple et efficace d'y parvenir.

  1. Dans la console, cliquez avec le bouton droit de la souris sur l'objet enregistré dans la console.

  2. Cliquez sur "Enregistrer comme variable globale".

  3. Voir le nom de la nouvelle variable - par exemple, c'est variableName1

  4. Tapez dans la console : JSON.stringify(variableName1)

  5. Copier le contenu de la chaîne variable : par exemple {"a":1, "b":2, "c":3}

enter image description here

  1. Allez sur un éditeur en ligne JSON : par exemple https://jsoneditoronline.org/

enter image description here

31voto

inorganik Points 2591

Il existe un plugin javascript open-source qui fait exactement cela, mais pour tous les navigateurs. debugout.js

Debugout.js enregistre et sauvegarde le fichier console.logs afin que votre application puisse y accéder. Je l'ai écrit. Il met en forme différents types de manière appropriée, peut gérer les objets imbriqués et les tableaux, et peut éventuellement mettre un horodatage à côté de chaque log. Vous pouvez également activer la journalisation en temps réel à un seul endroit, sans avoir à supprimer toutes vos déclarations de journalisation.

4 votes

Pour mémoire, bien que cet outil semble génial, il ne capturera pas la sortie du navigateur, comme lorsque le chargement d'une image échoue, ou toute autre sortie de console intégrée, et il nécessite que vous réécriviez vos déclarations de journal en utilisant une syntaxe spéciale.

0 votes

@Lukus il ne capturera certainement pas la sortie du navigateur (vous auriez besoin d'un patch monkey pour le faire) mais il n'y a pas de syntaxe spéciale nécessaire. Passez les mêmes arguments que pour console.log

1 votes

@Inorganik Je cherchais un moyen pour les tests selenium de capturer la sortie console, mais il sera utilisé pour un service de test donc nous n'avons pas le contrôle des sites web de l'utilisateur. Je pense que votre outil est cool, mais il faudrait que l'utilisateur réécrive ses déclarations console.log existantes en bugout.log, c'est ce que je voulais dire par syntaxe spéciale. Jusqu'à présent, il semble qu'il n'y ait pas de moyen de le faire pour les différents navigateurs.

10voto

JohnP2 Points 494

Pour un meilleur fichier journal (sans les absurdités de Chrome-debug), utilisez :

--enable-logging --log-level=0

au lieu de --v=1 ce qui est juste trop d'informations.

Il fournira toujours les erreurs et les avertissements que vous voyez habituellement dans la console de Chrome.

mise à jour le 18 mai 2020 : En fait, je pense que ce n'est plus vrai. Je n'ai pas pu trouver les messages de la console au sein de ce niveau de journalisation, quel qu'il soit.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X