J'ai essayé d'utiliser JSON.stringify(object)
, mais la structure et la hiérarchie ne sont pas affectées.
Par contre, console.log(object)
le fait, mais je ne peux pas le sauvegarder.
Dans la sortie console.log
, je peux développer un par un tous les enfants et sélectionner et copier/coller, mais la structure est trop grosse pour cela.
Mise à jour: vous pouvez maintenant faire un clic droit
Cliquez avec le bouton droit de la souris sur> Enregistrer sous dans le panneau de la console pour enregistrer les messages consignés dans un fichier.
Réponse originale:
Vous pouvez utiliser cet extrait de devtools présenté ci-dessous pour créer une méthode console.save. Il crée un FileBlob à partir de l'entrée, puis le télécharge automatiquement.
(function(console){
console.save = function(data, filename){
if(!data) {
console.error('Console.save: No data')
return;
}
if(!filename) filename = 'console.json'
if(typeof data === "object"){
data = JSON.stringify(data, undefined, 4)
}
var blob = new Blob([data], {type: 'text/json'}),
e = document.createEvent('MouseEvents'),
a = document.createElement('a')
a.download = filename
a.href = window.URL.createObjectURL(blob)
a.dataset.downloadurl = ['text/json', a.download, a.href].join(':')
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
a.dispatchEvent(e)
}
})(console)
Source: http://bgrins.github.io/devtools-snippets/#console-save
Si vous avez un objet enregistré:
Store as a global variable
temp1
copy(temp1)
Vous pouvez utiliser la commande API Chrome DevTools Utilities copy()
) pour copier la représentation sous forme de chaîne de l'objet spécifié dans le Presse-papiers.
Si vous avez beaucoup d'objets, vous pouvez réellement JSON.stringify () tous vos objets et continuer à les ajouter à une chaîne. Maintenant, utilisez la méthode copy()
pour copier la chaîne complète dans le presse-papiers.
Il existe un plugin javascript open-source qui fait exactement cela - 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. Il bascule également l'enregistrement en direct à un endroit.
faites un clic droit sur la console. Cliquez sur Enregistrer sous. C'est aussi simple que cela. Vous obtiendrez un fichier texte en sortie.
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.
Vous pouvez utiliser la bibliothèque l2i
( https://github.com/seriyvolk83/logs2indexeddb ) pour enregistrer tout ce que vous avez mis dans console.log
, puis l'invoquer.
l2i.download();
télécharger un fichier avec des journaux.