#!/usr/bin/env node var os = require('os'); var raven = require('../'); function usage() { var path = require('path'); console.log('usage:', path.basename(process.argv[1]), 'test [SENTRY_DSN]'); } if (process.argv[2] !== 'test') { usage(); process.exit(1); } var dsn = process.argv.slice(3).join(' ') || process.env.SENTRY_DSN; if (!dsn) { usage(); console.log(); console.log('Error: No configuration detected!'); console.log('You must either pass a DSN to the command or set the SENTRY_DSN environment variable.'); process.exit(1); } console.log('Using DSN configuration:'); console.log(' ', dsn); console.log(); var client = new raven.Client(dsn); console.log('Sending a test message...'); client.on('logged', function(result) { console.log('success!'); console.log('Event ID was', client.getIdent(result)); }); client.on('error', function(err) { console.log('error!'); throw err; }); try { test } catch (ex) { client.captureException(ex, { message: 'This is a test message generated using ``raven test``', level: 'info', logger: 'sentry.test', transaction: 'bin:raven at main', request: { method: 'GET', url: 'http://example.com' }, extra: { user: process.getuid && process.getuid(), loadavg: os.loadavg() } }); }