¿Cómo guardar la salida de un console.log(objeto) en un archivo?

Resuelto Eduard Florinescu asked hace 12 años • 10 respuestas

Intenté usar JSON.stringify(object), pero no afecta a toda la estructura y jerarquía.

Por otro lado console.log(object)hace eso pero no puedo guardarlo.

En el console.logresultado puedo expandir uno por uno todos los elementos secundarios y seleccionar y copiar/pegar, pero la estructura es demasiado grande para eso.

Eduard Florinescu avatar Aug 07 '12 22:08 Eduard Florinescu
Aceptado

Actualización: ahora puedes hacer clic derecho

Haga clic derecho > Guardar como en el panel Consola para guardar los mensajes registrados en un archivo.

Respuesta original:

Puede utilizar este fragmento de devtools que se muestra a continuación para crear un método console.save. Crea un FileBlob a partir de la entrada y luego lo descarga automáticamente.

(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)

Fuente: http://bgrins.github.io/devtools-snippets/#console-save

Patrick avatar Nov 06 '2013 17:11 Patrick

ACTUALIZACIÓN (06/2021):

Google agregó una acción de menú para copiar objetos. Haga clic derecho en el objeto y luego haga clicCopy object

ingrese la descripción de la imagen aquí

ANTIGUA RESPUESTA:

En caso de que tenga un objeto registrado:

  • Haga clic derecho en el objeto en la consola y haga clicStore as a global variable
  • la salida será algo así comotemp1
  • escribe en la consolacopy(temp1)
  • pégalo en tu editor de texto favorito
artemnih avatar Nov 18 '2015 01:11 artemnih

Puede utilizar el comando API de Chrome DevTools Utilitiescopy() para copiar la representación de cadena del objeto especificado al portapapeles.

Si tiene muchos objetos, entonces puede JSON.stringify() todos sus objetos y seguir agregándolos a una cadena. Ahora use copy()el método para copiar la cadena completa al portapapeles.

bthota avatar Jun 05 '2013 00:06 bthota