try node new log errores error ejemplo create codes catch javascript error-handling client-side

node - try catch javascript



Captura todos los errores de JavaScript y envĂ­alos al servidor (6)

Además, el servicio http://jslogger.com puede ayudar con eso:

Registrar errores y eventos de Javascript en la nube.

de http://jslogger.com/features :

A partir de ahora, puede espiar todos los errores que rompen la experiencia de usuario de su sitio. Cada error de Javascript se detectará y se le enviará para su posterior depuración.

DESCARGO DE RESPONSABILIDAD: no está afiliado con el servicio / compañía.

Me pregunté si alguien tenía experiencia en el manejo global de errores de JavaScript y enviarlos desde el navegador del cliente a un servidor.

Creo que mi punto es bastante claro, quiero saber todas las excepciones, errores, errores de compilación, etc. que ocurren en el lado del cliente y enviarlos al servidor para informarlos.

Estoy utilizando principalmente MooTools y head.js (para el lado JS) y Django para el lado del servidor.


Es posible que desee revisar este nuevo servicio, http://rescuejs.com/ .

Le permite registrar todos sus errores de javascript sin escribir el código del lado del servidor usted mismo. También rastrea las versiones del navegador y así sucesivamente.

No estoy seguro de que los consideraría 100% "listos para la empresa", pero definitivamente vale la pena echarle un vistazo.


Puede probar Atatus : es un nuevo servicio de seguimiento de errores de JavaScript junto con Real User Monitoring (RUM) para aplicaciones web modernas.

No solo capturamos los errores, sino también los eventos de usuario que provocaron el error. Esto te da los pasos para reproducir el error al final.

Junto con la captura de errores, también capturamos el tiempo de carga de la página y lo mostramos en diferentes perspectivas: Geo, Navegador, Profundización de página, Histograma de página, Monitoreo de Ajax y Monitoreo de transacciones.

Atatus

Documentos disponibles: https://www.atatus.com/docs

Descargo de responsabilidad: Soy un desarrollador web en Atatus.


Recientemente probé Sentry en producción y funciona bien (JS y otros lenguajes como PHP)

1- Es de código abierto (Puede instalarlo en su propio servidor) 2- Puede usar el plan gratuito (100 informes / día)

O instálalo en tu servidor: github.com/getsentry


Si su sitio web utiliza Google Analytics, puede hacer lo que yo hago:

window.onerror = function(message, source, lineno, colno, error) { if (error) message = error.stack; ga(''send'', ''event'', ''window.onerror'', message, navigator.userAgent); }

Algunos comentarios sobre el código anterior:

  • Para los navegadores modernos, se registra el seguimiento de la pila completa.
  • Para los navegadores más antiguos que no capturan el seguimiento de la pila, en su lugar se registra el mensaje de error. (Sobre todo la versión anterior de iOS en mi experiencia).
  • La versión del navegador del usuario también se registra, por lo que puede ver qué versiones del sistema operativo / navegador están arrojando qué errores. Eso simplifica la priorización de errores y las pruebas.
  • Este código funciona si utiliza Google Analytics con "analytics.js", como este . Si está utilizando "gtag.js" en su lugar, así , necesita ajustar la última línea de la función. Vea aquí para más detalles .

Una vez que el código está en su lugar, esta es la forma en que ve los errores de Javascript de sus usuarios:

  1. En Google Analytics, haga clic en la sección Behavior y luego en el informe Top Events .
  2. Obtendrá una lista de categorías de eventos. Haga clic en window.onerror en la lista.
  3. Verá una lista de trazas de Javascript y mensajes de error. Agregue una columna al informe para las versiones del sistema operativo / navegador de sus usuarios haciendo clic en el botón Secondary dimension e ingresando Event Label en el cuadro de texto que aparece.
  4. El informe se verá como la captura de pantalla a continuación.
  5. Para traducir las cadenas del sistema operativo / navegador a descripciones más legibles por humanos, las copio y pego en https://developers.whatismybrowser.com/useragents/parse/


Yo echa un vistazo a la window.onerror

Ejemplo:

window.onerror = function(message, url, lineNumber) { //save error and send to server for example. return true; };

Tenga en cuenta que devolver verdadero evitará la activación del controlador predeterminado, y devolver falso permitirá que el controlador predeterminado se ejecute.