web-dev-qa-db-fra.com

Enregistrez le fichier console.log dans Chrome dans un fichier.

Est-ce que quelqu'un connaît un moyen de sauvegarder la sortie de console.log dans Chrome dans un fichier? Ou comment copier le texte de la console?

Supposons que vous exécutiez quelques heures de tests fonctionnels et que vous disposiez de milliers de lignes de sortie console.log dans Chrome. Comment enregistrez-vous ou exportez-vous?

157
eeejay

Je devais faire la même chose et voici la solution que j'ai trouvée:

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

    _--enable-logging --v=1_

    Cela enregistre tout ce que Chrome fait en interne, mais il enregistre également tous les messages console.log(). Le fichier journal s'appelle chrome_debug.log et se trouve dans le User Data Directory .

  2. 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_.

89
Waleed Abdulla

Bonnes nouvelles

Les outils de développement de Chrome vous permettent désormais d’enregistrer la sortie de la console dans un fichier de manière native.

  1. Ouvrir la console
  2. Clic-droit
  3. Sélectionnez "enregistrer sous .."

save console to file

Instructions pour les développeurs Chrome ici .

170
adardesign

Il existe un plug-in javascript open-source qui fait exactement cela, mais pour tout navigateur - debugout.js

Debugout.js enregistre et enregistre console.logs afin que votre application puisse y accéder. Divulgation complète, je l'ai écrit. Il formate différents types de manière appropriée, peut gérer des objets et des tableaux imbriqués et peut éventuellement placer un horodatage à côté de chaque journal. Vous pouvez également basculer la journalisation en direct à un endroit et sans avoir à supprimer toutes vos instructions de journalisation.

26
inorganik

J'ai trouvé un moyen simple et efficace pour cela.

  1. Dans la console - cliquez avec le bouton droit sur l'objet connecté de la console

  2. Cliquez sur 'Store as global variable'

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

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

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

enter image description here

  1. Accédez à un éditeur en ligne JSON: par exemple: https://jsoneditoronline.org/

enter image description here

10
Combine

Cela peut être utile ou non, mais sous Windows, vous pouvez lire le journal de la console à l'aide de Event Tracing for Windows.

http://msdn.Microsoft.com/en-us/library/ms751538.aspx

Nos tests d'intégration étant exécutés en .NET, j'utilise cette méthode pour ajouter le journal de la console à notre sortie de test. J'ai créé un exemple de projet de console à illustrer ici: https://github.com/jkells/chrome-trace

--enable-logging --v = 1 ne semble pas fonctionner avec la dernière version de Chrome.

7
Jared Kells

Pour un meilleur fichier journal (sans le non-sens de Chrome-debug), utilisez:

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

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

Il fournira toujours les erreurs et les avertissements que vous verriez généralement dans la console Chrome.

6
JohnP2

Beaucoup de bonnes réponses mais pourquoi ne pas simplement utiliser JSON.stringify (votre_variable)? Ensuite, prenez le contenu via copier et coller (supprimer les guillemets externes). J'ai posté cette même réponse également à: Comment enregistrer la sortie d'un console.log (objet) dans un fichier?

3
user1889992

Si vous utilisez un serveur Apache sur votre hôte local (ne le faites pas sur un serveur de production), vous pouvez également publier les résultats dans un script au lieu de les écrire sur la console.

Ainsi, au lieu de console.log, vous pouvez écrire:

JSONP('http://localhost/save.php', {fn: 'filename.txt', data: json});

Alors save.php peut le faire

<?php

 $fn = $_REQUEST['fn'];
 $data = $_REQUEST['data'];

 file_put_contents("path/$fn", $data);
1
supersan

Il existe un autre outil open source qui vous permet de sauvegarder toutes les sorties console.log dans un fichier de votre serveur - JS LogFlush (plug!).

JS LogFlush est une solution de journalisation JavaScript intégrée comprenant:

  • remplacement sans interface utilisateur sur plusieurs navigateurs de console.log - côté client.
  • journal du système de stockage - côté serveur.

démo

1
hindmost

De nos jours, c'est très simple: cliquez avec le bouton droit de la souris sur l'un des éléments affichés dans le journal de la console, sélectionnez Enregistrer sous et enregistrez la sortie complète du journal dans un fichier sur votre ordinateur.

0
brianlmerritt