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?
Je devais faire la même chose et voici la solution que j'ai trouvée:
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
.
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
_.
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.
Instructions pour les développeurs Chrome ici .
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.
J'ai trouvé un moyen simple et efficace pour cela.
Dans la console - cliquez avec le bouton droit sur l'objet connecté de la console
Cliquez sur 'Store as global variable'
Voir le nom de la nouvelle variable - par exemple. c'est variableName1
Tapez dans la console: JSON.stringify (nomVariable1)
Copiez le contenu de la chaîne de variable: par exemple {"a": 1, "b": 2, "c": 3}
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.
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.
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?
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);
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.
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.