構文
newrelic.wrapLogger(parent: Object, functionName: string, options?: Object<{ customAttributes?: Object, level?: 'debug|error|info|trace|warn'}>)
既存のbrowserログ記録方法を通過するデータをログイベントとして自動的にキャプチャします。
要件
browser Pro、または Pro+SPA エージェント (v1.261.0 以上)
npm を使用して Browseragent をインストールし、非標準の実装を使用する場合は、
BrowserAgent
クラスをインスタンス化するときにlogging
機能を有効にする必要があります。 たとえば、features
配列に次のコードを追加します。import { Logging } from '@newrelic/browser-agent/features/logging'const options = {info: { ... },loader_config: { ... },init: { ... },features: [Logging]}
詳細については、 npm ブラウザのインストールに関するドキュメントを参照してください。
説明
このメソッドに有効な親コンテナと子関数名を指定すると、ブラウザエージェントはラップされた関数が呼び出されるたびに新しいログイベントを記録します。 最初の引数は、呼び出された関数にログのメッセージとして渡されます。 ログイベントの詳細については、ログUI参照してください。
オプションの設定は、 options
引数を使用して、これらのキャプチャされたログとともに渡すことができます。 options
引数 (options.customAttributes
) でAPIコールに提供されるカスタム アトリビュートは、このラッパーによって作成されるすべてのログイベントに最上位の属性として追加されます。 キャプチャされたログのlevel
を制御するには、 options
引数 ( options.level
) にlevel
を指定します。デフォルトではinfo
になります。 正常にラップされると、関数のログ検出は変更できないことに注意してください。
パラメーター
パラメータ | 説明 |
---|---|
オブジェクト | 必須。 ラップするターゲット関数を含むオブジェクト。 |
ストリング | 必須。 ラップするターゲット関数の名前。 この関数は |
オブジェクト | オプション。 ラッパーによってキャプチャされたすべてのログにオプションの設定を提供するために使用されるオブジェクト。 |
例
ネイティブコンソールメソッドからログ項目をキャプチャする
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'
カスタムロガーからログ項目をキャプチャする
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'
指定されたレベルでログ項目をキャプチャする
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'
カスタムアトリビュートでログアイテムをキャプチャする
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'
複数のロガーをラップする
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'