Comment sauvegarder la sortie d'une console.log(objet) à un fichier?

j'ai essayé d'utiliser JSON.stringify(object) , mais cela ne descend pas sur l'ensemble de la structure et de la hiérarchie.

d'un autre côté console.log(object) fait cela mais je ne peux pas le sauver.

dans la sortie console.log je peux étendre un par un tous les enfants et sélectionner et copier/coller mais la structure est trop grande pour cela.

169
demandé sur Mark 2012-08-07 19:48:35

7 réponses

mise à jour: vous pouvez maintenant juste clic droit

clic droit > enregistrer comme dans le panneau de la Console pour enregistrer les messages enregistrés dans un fichier.

Réponse Originale:

vous pouvez utiliser cet extrait de devtools ci-dessous pour créer une console.méthode de sauvegarde. Il crée un FileBlob de l'entrée, puis 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

246
répondu Patrick 2016-05-20 00:12:29

dans le cas où vous avez un objet connecté:

  • clic droit sur l'objet dans la console et cliquez sur Store as a global variable
  • la sortie sera quelque chose comme temp1
  • type de console copy(temp1)
  • coller à votre éditeur de texte préféré
114
répondu Art S 2018-01-09 17:55:28

vous pouvez utiliser" Chrome Developers Tool "Command Line API" copy () " pour copier la représentation string de l'objet spécifié dans le presse-papiers.

Si vous avez beaucoup d'objets, puis: Tu peux en fait "JSON".stringify () " tous vos objets et continuez à les ajouter à une chaîne. Maintenant, utilisez la méthode copy() pour copier la chaîne complète vers clipbard.

104
répondu bthota 2013-06-05 00:48:19

il y a un plugin open - source javascript qui fait justement cela - débugout.js

Debugout.js enregistre et enregistre la console.logs afin que votre application puisse y accéder. La divulgation complète, je l'ai écrit. Il formate différents types de manière appropriée, peut gérer les objets et les tableaux imbriqués, et peut éventuellement mettre un horodatage à côté de chaque log. Il fait aussi basculer le live-logging en un seul endroit.

5
répondu inorganik 2014-06-17 18:00:07

clic droit sur console.. cliquez sur enregistrer sous.. sa ce simple.. vous obtiendrez un fichier texte de sortie

3
répondu Akhil_S 2015-05-03 09:16:00

vous pouvez utiliser la bibliothèque l2i ( https://github.com/seriyvolk83/logs2indexeddb ) pour sauver tout ce que vous mettez dans console.log et puis invoquer

l2i.download();

pour télécharger un fichier avec les journaux.

2
répondu Alexander Volkov 2014-07-02 19:41:07

il y a un autre outil open-source qui vous permet d'enregistrer toutes les sorties console.log dans un fichier sur votre serveur - js LogFlush (plug!).

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

  • cross-browser UI-moins de remplacement de la console.ouverture de session côté client.
  • journal de stockage le système sur le côté serveur.

Démo

1
répondu hindmost 2014-09-29 09:14:37