Sentry-javascript: ¿Cuál es el trato con wrapConsoleMethod ()?

Creado en 17 may. 2016  ·  15Comentarios  ·  Fuente: getsentry/sentry-javascript

Recientemente noté que Raven ahora resume todos los métodos de la consola, pero no veo ninguna documentación que describa por qué. o ¿cómo podría ser útil? ¿Alguien se ha encontrado con esto todavía y podría señalarme alguna documentación sobre su uso?

el problema con el que me encuentro es que ya no puedo hacer una depuración simple con console.log () .. ¿la fuente se convierte en raven.js y ya no puedo rastrear de qué parte de mi código emana?

Publicado originalmente en el repositorio de documentos, luego cerrado

Comentario más útil

A partir de la versión 3.5.0, puede deshabilitar la recopilación automática de rutas de navegación de la consola:

Raven.config('your dsn', {
  autoBreadcrumbs: {
    console: false
  }
});

O puede deshabilitar la recopilación automática de migas de pan por completo:

Raven.config('your dsn', { autoBreadcrumbs: false });

Más sobre esto en docs .

Todos 15 comentarios

@grapho - declaraciones de la consola se recogen y pasan como el pan rallado .

Puedo ver cómo puede ser irritante que, como resultado de instrumentar console.log , la URL en devtools ya no lo llevará a la declaración de registro original en su fuente. Podríamos hacer que la instrumentación console.log opcional. O, alternativamente, introduzca Raven.log como una API alternativa para registrar sus propias rutas de navegación.

@benvinegar Prometo que no estoy irritado ... si hay alguna manera de usar las migas de pan o una api equivalente en un entorno de desarrollo ... lugar de console.log, me encantaría saber cómo.

Podría acostumbrarme a colocar puntos de interrupción y declaraciones del depurador en su lugar ... ¿si ese es el trabajo preferido?

Supongo que rara vez usé el enlace a la declaración de la consola y ni siquiera me di cuenta de que había desaparecido :) Yo personalmente uso el depurador de Chrome la mayor parte del tiempo.

si hay una forma en que puedo usar las migas de pan o una api equivalente en un entorno de desarrollo

Puede usar Raven.captureBreadcrumb hoy si solo desea establecer una ruta de navegación. Sin embargo, la API aún no está realmente desarrollada. Esta es todavía una característica nueva y todavía estamos tratando de resolver algunos aspectos.

Si esto no es un bloqueo serio, me gustaría mantener este problema abierto por un tiempo y ver si recibimos más comentarios.

Creo que este es un problema importante, especialmente porque no está documentado en ninguna parte y no se puede desactivar.
Puede haber toneladas de console.log que no queremos que se envíen a Sentry.

Depende del desarrollador elegir qué enviar y cuándo

Una cosa más que no mencioné, hay algunos frameworks JS como Ember.js, tienden a eliminar los métodos console () de las compilaciones de producción. Solo comida para considerar.

El comentario anterior parece ser incorrecto, lo siento.

@benvinegar Aprecio que esté dispuesto a mantener el boleto abierto, podría valer la pena investigar un poco más :)

@benvinegar este problema no es un bloqueador serio en absoluto.

Aquí está mi solución actual. Me di cuenta de que simplemente _no_ puedo inicializar el cliente raven.js cuando estoy en modo de desarrollo ... los informes de cuervo / centinela, solo son realmente útiles para la mayoría de las personas (imagino) en aplicaciones de producción de todos modos.

Habiendo dicho eso. todavía podría ser útil introducir tal vez un indicador de configuración developmentMode , que permitiría que los mensajes y errores pasen a la consola de desarrollo (también conocido como deshabilitar parte del manejo "global") ... mientras se mantiene el cuervo. js en segundo plano, por lo que aún podríamos enviar informes de error manualmente, activando explícitamente las apis de raven, si lo deseamos.

Déjame saber cómo te sientes al respecto. De lo contrario, no me preocuparía demasiado, ya que este problema se debió principalmente a mi inexperiencia con Raven y cómo / cuándo usarlo.

Puede haber toneladas de console.log que no queremos que se envíen a Sentry.

Charla real: ¿realmente quieres desactivar esto? No estoy tratando de sonar pasivo-agresivo aquí, solo quiero saber si esto es un problema grave en este momento y desea desactivarlo.

Creo que este es un problema importante, especialmente porque no está documentado en ninguna parte y

Está documentado en el registro de cambios de Raven.js. También publicamos una publicación en el blog que anunciaba rutas de navegación que mencionaban que las declaraciones console.log ahora se registran, y esta publicación se transmitió en la aplicación a todos los usuarios alojados de Sentry. Lamento que no logramos comunicarnos con usted, pero creo que se hizo un esfuerzo genuino para comunicarlo.

Tenga en cuenta también que esta es la razón por la que Raven.js 3.0.x fue un salto de versión principal, porque introdujo cambios potencialmente importantes. Espero que la gente esté revisando el registro de cambios antes de actualizar a una versión principal.

... no se puede inhabilitar.

Mientras tanto, aún puede ejecutar Raven 2.x.

@benvinegar Aprecio que esté dispuesto a mantener el boleto abierto, podría valer la pena investigar un poco más :)

Quiero recopilar más comentarios antes de apresurarme a encontrar una solución. Especialmente desde que 3.0.x ha estado disponible durante un par de semanas y la mayoría de los comentarios que hemos recibido han sido positivos.

@benvinegar este problema no es un bloqueador serio en absoluto.

Sí, tenía la sensación de que tenías más curiosidad que nada.

Habiendo dicho eso. todavía podría ser útil introducir tal vez un indicador de configuración de DevelopmentMode, que permitiría que los mensajes y errores pasen a la consola de desarrollo (también conocido como deshabilitar parte del manejo "global") ... mientras se mantiene el cliente raven.js en silencio en el background, por lo que aún podríamos enviar informes de error manualmente, activando explícitamente las apis de raven, si lo deseamos.

Sí, el problema con eso es que existe un argumento para querer declaraciones de consola en producción para depurar también. Prefiero hacerlo configurable. Y lo haremos. Solo quiero obtener más comentarios / medir el impacto primero.

Anwyays, agradezco sus comentarios aquí, de verdad.

@benvinegar : 👍 para la opción de configuración: lo ideal es que permita filtrar las entradas no deseadas a mano (o más bien, con la función)

Esto también sigue apareciendo en el rastreador de soporte. Creo que deberíamos agregar un método para deshabilitarlo.

Por favor, haga que la función de migas de pan sea opcional, los métodos de la consola de empaquetado son riesgosos y propensos a conflictos con muchas otras bibliotecas y scripts de terceros que también lo intentan.

A partir de la versión 3.5.0, puede deshabilitar la recopilación automática de rutas de navegación de la consola:

Raven.config('your dsn', {
  autoBreadcrumbs: {
    console: false
  }
});

O puede deshabilitar la recopilación automática de migas de pan por completo:

Raven.config('your dsn', { autoBreadcrumbs: false });

Más sobre esto en docs .

autoBreadcrumbs no está en el archivo de declaración mecanografiado. ¿Es intencional?

https://github.com/getsentry/raven-js/blob/master/typescript/raven.d.ts

Últimamente hemos estado luchando con las declaraciones de TypeScript. Envíos bienvenidos.

¿Fue útil esta página
0 / 5 - 0 calificaciones