New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

good-sentry

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

good-sentry

Sentry broadcasting for good process monitor

latest
Source
npmnpm
Version
2.4.1
Version published
Weekly downloads
26
62.5%
Maintainers
1
Weekly downloads
 
Created
Source

good-sentry

Sentry broadcasting for good process monitor.

good-sentry is a write stream used to send hapi server events to a Sentry server.

Current Version Build Status License

Donate

Usage

new GoodSentry ([options])

Creates a new GoodSentry object with the following arguments:

  • [options] - optional configuration object with the following keys
    • [dsn] - Sentry project's Data Source Name. Defaults to null but expects SENTRY_DSN environment variable to be set.
    • [config] - optional configuration object with the following keys
      • [name] - The name of the logger used by Sentry. Defaults to hostname. Optionally set the name using SENTRY_NAME environment variable.
      • [logger] - The name of the Sentry client. Defaults to ''.
      • [release] - The version/release of your application. Defaults to ''. Optionally set the release using SENTRY_RELEASE environment variable.
      • [environment] - The environment name of your application. Defaults to ''. Optionally set the environment using SENTRY_ENVIRONMENT environment variable.
    • [captureUncaught] - Enable global error handling. Defaults to false.

Tags

Because Hapi tags are an array of strings and Sentry expects tags to be a k/v map, good-sentry sets all tags associated with an event to tag: true pairs. Those are nicely displayed in the tags section of Sentry web interface:

Tags in Sentry

Example Usage

const Hapi = require('hapi');
const version = require('package.json').version;
const server = new Hapi.Server();
server.connection();

const options = {
  reporters: {
    mySentryReporter: [{
      module: 'good-squeeze',
      name: 'Squeeze',
      args: [{ log: '*' }],
    }, {
      module: 'good-sentry',
      args: [ {
        dsn: 'https://<key>:<secret>@sentry.io/<project>',
        config: {
          name: 'myAwesomeHapiServer',
          logger: 'mySentryReporter',
          release: version,
          environment: process.env.NODE_ENV,
        },
        captureUncaught: true,
      }],
    }],
  },
};

server.register({
    register: require('good'),
    options,
}, (err) => {
  server.start(() => {
    server.log([], 'Sample debug event.');
    server.log(['debug'], 'Sample tagged debug event.');
    server.log(['info'], 'Sample info event.');
    server.log(['warning', 'server'], 'Sample warning event with tags.');
    server.log(['error', 'first-tag', 'second-tag'], 'Sample error event with tags.');
    
    // Throw an error after 5 seconds
    setTimeout(() => {
      throw new Error('An uncaught error');
    }, 5000);
  });
});

This example sets up the reporter named mySentryReporter to listen for server events and send them to a Sentry project with additional settings.

License

Released under the MIT license.

Keywords

hapi

FAQs

Package last updated on 18 Jan 2019

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