9

Si se ejecuta este código:Solución para el registro de objetos a la consola en Chrome

var foo = {bar: 'baz'}; 
window.console.log(foo); 
foo.bar = 'bla'; 

La consola muestra esto después de la ampliación del objeto:

(cuando se conecta objetos y matrices, es no el valor de tiempo de ejecución que está registrado)

Este error fue documentado hace más de un año:

http://code.google.com/p/chromium/issues/detail?id=50316

¿Hay una solución para el registro de objetos en Chrome?

+0

Una solución simple podría ser anular 'console.log' y con una función que clone y registre la entrada (aunque probablemente sería una copia superficial). –

Respuesta

9

Acabo de usar JSON.stringify cuando lo necesito. No sé si lo hará por usted, pero es fácil y eficaz para la depuración.

Esto no es bueno para los objetos con referencias de función, así que si lo necesitas, consideraría utilizar una copia profunda del objeto (puedes usar el excelente método extend de jQuery) o usar tu propia función de registro que bucle recursivo sobre el objeto e imprimirlo.

+0

También he usado 'JSON.stringify (cosas, verdadero, 2)' que imprimirá su producción. Útil cuando su JSON es grande o ingobernable. – coblr

0

Puede usar una biblioteca de registro dedicada como la mía log4javascript.

Cuestiones relacionadas