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');