Syntaxe
newrelic.wrapLogger(parent: Object, functionName: string, options?: Object<{ customAttributes?: Object, level?: 'debug|error|info|trace|warn'}>)
Capture automatiquement les données passant par les méthodes de logging du navigateur existantes en tant qu'événement de log.
Exigences
navigateur Pro ou agent Pro+SPA (v1.261.0 ou supérieur)
Si vous utilisez npm pour installer l'agent du navigateur et utilisez une implémentation non standard, vous devez activer la fonctionnalité
logging
lors de l'instanciation de la classeBrowserAgent
. Par exemple, ajoutez ce qui suit dans l’éventailfeatures
:import { Logging } from '@newrelic/browser-agent/features/logging'const options = {info: { ... },loader_config: { ... },init: { ... },features: [Logging]}
Pour plus d'informations, consultez la documentation d'installation du navigateur npm.
Description
Une fois que vous avez fourni à cette méthode un conteneur parent valide et un nom de fonction enfant, l'agent du navigateur enregistrera un nouvel événement de log chaque fois que la fonction encapsulée est invoquée. Le premier argument est passé à la fonction invoquée en tant que message du log. Consultez l’ UI de Logs pour plus d’informations sur événement de log.
Vous pouvez transmettre la configuration facultative avec ces logs capturés à l'aide de l'argument options
. Tout attribut personnalisé fourni à l'appel d'API dans l'argument options
(options.customAttributes
) est ajouté comme attribut de niveau supérieur sur chaque événement de log créé par ce wrapper et a priorité sur tout attribut global personnalisé par setCustomAttribute. Fournissez un level
à l'argument options
(options.level
) pour contrôler le level
du log capturé. Par défaut, le niveau de log est défini sur info
.
Paramètres
paramètres | Description |
---|---|
Objet | Requis. Un objet qui contient la fonction cible à encapsuler. |
chaîne | Requis. Le nom de la fonction cible à encapsuler. Cette fonction doit exister dans l'objet |
Objet | Facultatif. Un objet utilisé pour fournir une configuration facultative pour chaque log capturé par le wrapper. |
Exemples
Capture des éléments log à partir des méthodes de console natives
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'
Capture d'éléments log à partir d'un enregistreur personnalisé
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'
Capture d'éléments log avec un niveau spécifié
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'
Capture d'un élément log avec un attribut personnalisé
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'
Envelopper plusieurs enregistreurs
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'