A standalone (Node.js) client for Sentry
JavaScript
Pull request Compare This branch is 46 commits ahead, 291 commits behind getsentry:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
test
.gitignore
.npmignore
.travis.yml
History.md
LICENSE
README.md
index.js
package.json

README.md

Raven Build Status

Node v0.9 compatible

Log errors and stack traces in Sentry from within your Node.js applications.

All processing and sending happens asynchronously to not slow things down if/when Sentry is down or slow.

Compatibility

  • 0.6.x
  • 0.8.x
  • 0.9.x (latest unstable)

Installation

$ npm install raven

Basic Usage

var raven = require('raven');
var client = new raven.Client('{{ SENTRY_DSN }}');

client.captureMessage('Hello, world!');

Logging an error

client.captureError(new Error('Broke!'));

Sentry Identifier

client.captureMessage('Hello, world!', function(result) {
    console.log(client.getIdent(result));
});
client.captureError(new Error('Broke!'), function(result) {
  console.log(client.getIdent(result));
});

Note: client.captureMessage will also return the result directly without the need for a callback, such as: var result = client.captureMessage('Hello, world!');

Events

If you really care if the event was logged or errored out, Client emits two events, logged and error:

client.on('logged', function(){
  console.log('Yay, it worked!');
});
client.on('error', function(){
  console.log('oh well, Sentry is broke.');
})
client.captureMessage('Boom');

Environment variables

SENTRY_DSN

Optionally declare the DSN to use for the client through the environment. Initializing the client in your app won't require setting the DSN.

SENTRY_NAME

Optionally set the name for the client to use. What is name?

Methods

new raven.Client(dsn[, options])
client.captureMessage(string[,callback])
client.captureError(Error[,callback])

Support

You can find me on IRC. I troll in #sentry on freenode.