JavaScript Sentry Events Demo
[email protected]
by eurica
HTML
<script src="https://browser.sentry-cdn.com/4.6.5/bundle.min.js"></script>
<pre id="log"></pre>
JavaScript
Sentry.init({
dsn: 'https://[email protected]/1299501',
beforeSend(event) {
setTimeout(() => document.getElementById("log").innerHTML += JSON.stringify(event,null, 2) + '<hr>',1);
if (event.exception) {
Sentry.showReportDialog({ eventId: event.event_id });
}
return event;
}
});
//Manual Error
Sentry.addBreadcrumb({ message: 'Triggering a manual error'});
Sentry.captureException(new Error("This is my error message"));
// Setting some user data manually:
Sentry.configureScope((scope) => {
scope.setUser({"user": "[email protected]"});
});
//As a try/catch (note there's no stack to speak of)
Sentry.addBreadcrumb({ message: 'Triggering a try/catch error', level: 'info'});
try {
aFunctionThatMightFail();
} catch (err) {
Sentry.captureException(err);
}
// Rejected Promises automatically trigger errors
Sentry.addBreadcrumb({ message: 'Triggering a rejected promise', level: 'info'});
let promise = new Promise(function(resolve, reject) {
Sentry.addBreadcrumb({ message: 'Starting my promise', level: 'info'});
// after 1 second signal that the job is finished with an error
setTimeout(() => reject(new Error("Promise Rejected")), 1000);
});
Sentry.addBreadcrumb({ message: 'Promise created', level: 'info'});
Sentry.addBreadcrumb({ message: 'Sending a warning', level: 'info'});
Sentry.captureMessage('this is a warning message', 'warning');