Sintaxis
newrelic.wrapLogger(parent: Object, functionName: string, options?: Object<{ customAttributes?: Object, level?: 'debug|error|info|trace|warn'}>)
Captura automáticamente los datos que pasan a través de los métodos de registro browser existentes como log de evento.
Requisitos
Browser Pro, o agente Pro+SPA (v1.261.0 o superior)
Si está empleando npm para instalar el agente del browser y emplea una implementación no estándar, debe habilitar la característica
logging
al crear una instancia de la claseBrowserAgent
. Por ejemplo, agregue lo siguiente en la matrizfeatures
:import { Logging } from '@newrelic/browser-agent/features/logging'const options = {info: { ... },loader_config: { ... },init: { ... },features: [Logging]}
Para obtener más información, consulte la documentación de instalación del navegador npm.
Descripción
Luego de proporcionar a este método un contenedor principal válido y un nombre de función secundaria, el agente del browser registrará un nuevo log de eventos cada vez que se invoque la función envuelta. El primer argumento se pasa a la función invocada como mensaje del log. Consulte la UIde registro para obtener más información sobre log de eventos.
Puede pasar la configuración opcional junto con estos registros capturados empleando el argumento options
. Cualquier atributo personalizado suministrado a la API de llamada en el argumento options
(options.customAttributes
) se agrega como atributo de nivel superior en cada registro de eventos creado por este contenedor. Proporcione un level
al argumento options
(options.level
) para controlar el level
del registro capturado. De forma predeterminada, el nivel de registros se establece en info
.
Parámetros
Parámetro | Descripción |
---|---|
Objeto | Requerido. Un objeto que contiene la función objetivo que se va a envolver. |
cadena | Requerido. El nombre de la función objetivo que se va a incluir. Esta función debe existir en el objeto |
Objeto | Opcional. Un objeto empleado para proporcionar una configuración opcional para cada log capturado por el contenedor. |
Ejemplos
Captura de elementos log desde los métodos de la consola nativa
newrelic.wrapLogger(console, 'info')// from this point forward, every time `console.info` is invoked, it will save a log event with:// a message of --> <the first argument passed to console.info>// a level of --> 'info'
Capturar elementos log desde un loggerpersonalizado
const myLoggers = { logger: function(){...}}newrelic.wrapLogger(myLoggers, 'logger')// from this point forward, every time `myLoggers.logger` is invoked, it will save a log event with:// a message of --> <the first argument passed to myLoggers.logger>// a level of --> 'info'
Capturar elementos log con un nivel específico
const myLoggers = { logger: function(){...}}newrelic.wrapLogger(myLoggers, 'logger', {level: 'debug'})// from this point forward, every time `myLoggers.logger` is invoked, it will save a log event with:// a message of --> <the first argument passed to myLoggers.logger>// a level of --> 'debug'
Capturando un elemento log con atributo personalizado
const myLoggers = { logger: function(){...}}newrelic.wrapLogger(myLoggers, 'logger', {customAttributes: {myFavoriteApp: true}})// from this point forward, every time `myLoggers.logger` is invoked, it will save a log event with:// a message of --> <the first argument passed to myLoggers.logger>// a level of --> 'info'// an attribute of --> 'myFavoriteApp: true'
Envolver múltiples registradores
const myLoggers = { myInfoLogger: function(){...}, myDebugLogger: function(){...}}newrelic.wrapLogger(myLoggers, 'myInfoLogger', {level: 'info'})newrelic.wrapLogger(myLoggers, 'myDebugLogger', {level: 'debug'})// from this point forward, every time `myLoggers.myInfoLogger` is invoked, it will save a log event with:// a message of --> <the first argument passed to myLoggers.myInfoLogger>// a level of --> 'info'
// every time `myLoggers.myDebugLogger` is invoked, it will save a log event with:// a message of --> <the first argument passed to myLoggers.myDebugLogger>// a level of --> 'debug'