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.
Se puede pasar una configuración opcional junto con estos registros capturados con el argumento options
. Cualquier atributo personalizado proporcionado a la API de llamada en el argumento options
(options.customAttributes
) se agregará como atributo de nivel superior en cada log de evento creado por este contenedor. Puede controlar el level
del log capturado proporcionando un level
al argumento options
(options.level
), que por defecto es info
. Tenga en cuenta que una vez finalizada correctamente, la detección de registro de la función no se puede modificar.
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'