Official Sentry SDK for Browsers (Preview)
WARNING: This SDK is part of an early access preview for the next generation of Sentry JavaScript SDKs. Public interfaces might change and break backwards compatibility from time to time. We absolutely recommend raven-js in production!
Usage
To use this SDK, call init(options)
as early as possible after loading the
page. This will initialize the SDK and hook into the environment. Note that you
can turn off almost all side effects using the respective options.
import { init } from '@sentry/browser';
init({
dsn: '__DSN__',
// ...
});
To set context information or send manual events, use the exported functions of
@sentry/browser
. Note that these functions will not perform any action before
you have called init()
:
import * as Sentry from '@sentry/browser';
// Set user information, as well as tags and further extras
Sentry.configureScope(scope => {
scope.setExtra('battery', 0.7);
scope.setTag('user_mode', 'admin');
scope.setUser({ id: '4711' });
// scope.clear();
});
// Add a breadcrumb for future events
Sentry.addBreadcrumb({
message: 'My Breadcrumb',
// ...
});
// Capture exceptions, messages or manual events
Sentry.captureMessage('Hello, world!');
Sentry.captureException(new Error('Good bye'));
Sentry.captureEvent({
message: 'Manual',
stacktrace: [
// ...
],
});
Advanced Usage
If you don't want to use a global static instance of Sentry, you can create one yourself:
import { BrowserClient } from '@sentry/browser';
const client = new BrowserClient({
dsn: '__DSN__',
// ...
});
client.install();
// ...