Enregistrez la console.log dans Chrome dans un fichier

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

Disons 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’enregistrez-vous ou exportez-vous?

J’avais besoin de faire la même chose et c’est la solution que j’ai trouvée:

  1. Activer la journalisation à partir de la ligne de commande à l’aide des indicateurs:

    --enable-logging --v=1

    Cela enregistre tout ce que fait Chrome 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 obtenu pour les lignes avec CONSOLE(\d+) .

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

Bonnes nouvelles

Les outils de développement Chrome vous permettent désormais de sauvegarder la sortie de la console dans un fichier en mode natif

  1. Ouvrez la console
  2. Clic-droit
  3. Sélectionnez “enregistrer sous ..”

enregistrer la console dans un fichier

Instructions du développeur Chrome ici .

Il y a un plugin javascript open-source qui fait exactement ça, mais pour n’importe quel navigateur – debugout.js

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

Cela peut ou peut ne pas être utile, mais sous Windows, vous pouvez lire le journal de la console à l’aide du suivi des événements pour Windows.

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

Nos tests d’intégration sont exécutés dans .NET. J’utilise donc cette méthode pour append le journal de la console à notre sortie de test. J’ai fait un exemple de projet de console à démontrer ici: https://github.com/jkells/chrome-trace

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

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

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

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

Il fournira toujours les erreurs et les avertissements comme vous le verrez généralement dans la console Chrome.

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

  1. Dans la console – cliquez avec le bouton droit sur l’object connecté à la console

  2. Cliquez sur ‘Stocker en tant que variable globale’

  3. Voir le nom de la nouvelle variable – par exemple, il est variableNom1

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

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

entrer la description de l'image ici

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

entrer la description de l'image ici

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

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

  • remplacement inter-navigateur sans interface utilisateur de console.log – du côté client.
  • système de stockage de journal – côté serveur.

Démo

Beaucoup de bonnes réponses, mais pourquoi ne pas utiliser JSON.ssortingngify (votre_variable)? Ensuite, prenez le contenu par copier-coller (enlevez les guillemets externes). J’ai posté cette même réponse à: Comment enregistrer la sortie d’un console.log (object) dans un fichier?

Si vous exécutez 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.

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

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

Ensuite, save.php peut le faire