Socket
Book a DemoInstallSign in
Socket

bunyan-bugsnag

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bunyan-bugsnag

A Bunyan stream for logging errors and warnings to Bugsnag

4.0.0
latest
Source
npmnpm
Version published
Weekly downloads
145
-16.18%
Maintainers
1
Weekly downloads
 
Created
Source

Bunyan Bugsnag Stream

Bugsnag is great for tracking errors. Even when an error is handled it is often still desired to log that error on Bugsnag using the bugsnag.notify() method. When Bunyan is used for logging errors are already being logged throughout an app; this stream allows sending logged errors to Bugsnag without adding Bugsnag calls in the application code as well.

Requires Node.js v6.17.0 or higher.

Installation

Install via npm or yarn:

npm i bunyan-bugsnag bunyan @bugsnag/js

Usage

Add a bugsnagStream() to the Bunyan streams already in use. Specifying the raw stream type is optional, but improves efficiency.

import bugsnag from '@bugsnag/js'
import bugsnagStream from 'bunyan-bugsnag'

const bugsnagClient = bugsnag('bugsnag-api-key')

const logger = bunyan.createLogger({
  name: 'appName',
  streams: [
    {
      level: 'info',
      stream: process.stdout,
    },
    {
      type: 'raw',
      level: 'warn',
      stream: bugsnagStream({ bugsnagClient }),
    },
  ],
})

Configuration

In addition to the bugsnagClient the stream takes the following optional options, with these defaults:

bugsnagStream({
  bugsnagClient,
  systemInfo: ['name', 'hostname', 'pid', 'req_id', 'level', 'time', 'v'],
  warningLevel: 'warn',
  errorLevel: 'error',
})

Use the warningLevel and errorLevel settings to specify which severity will be indicated to Bugsnag. For example, to send log.error() calls as a warning and only log.fatal() calls as errors set errorLevel: 'fatal'. Any level below warningLevel will be sent with info severity if the Bunyan stream config level is set to pass lower levels in the first place. Levels can be specified by name or as a number.

The systemInfo option determines which fields in the logged object will be sent as system info with the remaining items sent as info. The equivalent call would be:

bugsnag.notify(error, {
  system: {
    name: 'appName',
    hostname: 'HostName',
    pid: 25540,
    req_id: 'a4f81850-f5e4-11e6-9a41-7f186ecc7af4',
    level: 50,
    time: '2017-02-18T14:15:05.126Z',
    v: 0,
  },
  info: {
    msg: 'Something bad happened!',
    // Any other properties passed to the bunyan log method ...
  },
})

This will create system and info tabs in the Bugsnag report providing this information.

License

Free to use under the MIT license.

See the LICENSE file for license text and copyright information.

Keywords

bunyan

FAQs

Package last updated on 13 Jan 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.