El agente del browser de New Relic te permite supervisar la eficacia, los problemas y la interacción de los usuarios con tu aplicación o sitio web. Captura información sobre la duración de carga de la página web, las solicitudes Ajax, los errores de JavaScript y eventos personalizados, y transmite estos datos a New Relic para llevar a cabo un análisis detallado y generar una representación visual. Pero ¿y si quisieras capturar los datos de log que emite tu aplicación web para llevar a cabo un proceso de depuración más exhaustivo? El agente del browser ahora tiene una solución para esto en dos métodos API para capturar de manera manual los logs del browser emitidos por tus aplicaciones web.

¿Por qué capturar los logs del browser?

Capturar los logs del browser tiene muchas ventajas, como por ejemplo:

  • Ayudar a detectar errores o inconsistencias que no aparecen con el seguimiento de errores tradicional.
  • Obtener mensajes de log detallados para desglosar procesos o transacciones en más detalle.
  • Obtener información valiosa sobre el comportamiento del usuario, las respuestas a acciones específicas o representar los problemas.
  • Organizar y clasificar los logs de manera fácil en buckets manipulables de acuerdo con el nivel, tipo, página, etc...

Instalar y configurar

Si quieres usar el agente del browser de New Relic para capturar de manera manual los logs del browser, debes seguir algunos pasos para instalarlo y configurarlo correctamente. Aquí te proporcionamos una guía sobre cómo hacerlo.

  1. Abre New Relic y luego selecciona Agregar datos desde el panel de navegación.
  2. Selecciona Browser y Móvil, luego selecciona la fuente de datos del monitoreo de browser.
  3. Selecciona tu método de despliegue, ya sea APM o Copiar/Pegar.
  4. Selecciona una aplicación existente monitoreada en APM o pon un nombre a tu nueva aplicación. Luego, haz clic en Habilitar.

También puedes utilizar el paquete de monitoreo del rendimiento de redes (NPM) del agente del browser para instrumentar tu página web. Para obtener más información sobre este proceso, consulta esta guía de instrumentación. La captura manual de los logs del browser es compatible con las versiones 1.261.0 y superiores del agente del browser.

Captura de los logs del browser

Captura manual de datos como un evento de log individual

Si quieres capturar datos de log por caso, la API del “log” captura un mensaje como evento del log, al mismo tiempo que proporciona flexibilidad para mejorar el evento con un nivel específico y atributos personalizados. Esta API tiene una variedad de casos de uso, desde el registro de mensajes instantáneos hasta la extensión de tus plataformas de logging existentes.

// Captura un solo evento de log
newrelic.log('my log message', {level: 'debug'})
// Agrega una llamada de logging a tu función de mecanismos de logging existente
 yourExistingLoggerFn(message){
  // captura tu mensaje
  newrelic.log(message, {level: 'debug'})
  // ... tu otra lógica ...
}

Capturar un solo evento de log es tan simple como llamar a “newrelic.log(<message>, <options>)” con un mensaje de cadena y un objeto opcional especificando un nivel de logging o atributos personalizados. Consulta la documentación de API para obtener información más detallada sobre el uso de esta API.

Captura automática de datos a través de métodos existentes de logging del browser como eventos de log

Si ya tienes soluciones de logging incorporadas a tu aplicación web y quieres capturar datos de log cada vez que se invocan esos métodos de logging, la API de “wrapLogger” instrumentará tus métodos para capturar un evento de log en cada llamada, al mismo tiempo que sigue proporcionando flexibilidad para mejorar el evento con un nivel específico y atributos personalizados. Esta API te permite capturar logs en todo tu ecosistema de aplicaciones con relativamente poco esfuerzo, simplificando el proceso al envolver tus métodos ya utilizados o incluso al envolver loggers del browser, como console.info.

Captura de los elementos del log desde los métodos de consola nativa

newrelic.wrapLogger(console, 'info')
// de aquí en adelante, cada vez que se invoque el término `console.info`, se guardará un evento de log

Captura de los elementos del log desde un logger personalizado

const myLoggers = {
 logger: function(){...}
}
newrelic.wrapLogger(myLoggers, 'logger')
// de aquí en adelante, cada vez que se invoque el término `myLoggers.logger, se guardará un evento de log

Capturar todos los mensajes es tan sencillo como invocar “newrelic.wrapLogger(<parentObject>, <functionName>, <options>)” con un objeto que contenga un método para empaquetar y un objeto opcional que especifica un nivel de logging o atributos personalizados. Consulta la documentación de API para obtener información más detallada sobre el uso de esta API.

Visualización de los logs del browser

Puedes ver, ordenar y personalizar los logs del browser capturados dentro de la vista de logging de tu aplicación del browser. Primero debes ir hasta tu aplicación del browser y luego seleccionar “Logs” desde el panel lateral. 

 

Aquí puedes personalizar las columnas, los filtros, entre otras opciones, para desglosar el problema en cuestión. Para obtener más información sobre las vistas de logging, consulta la documentación sobre la UI de los logs.

logs_view