Node.js


BugSplat's JavaScript integration works with applications that support npm including Node.js, and Electron. Before continuing with the tutorial please make sure you have completed the following checklist:

Configuration


To add the bugsplat package to your application, run the following shell command at the root of your project’s directory:

npm install --save bugsplat

Require the bugsplat module at the entry point of your application. Provide the name of your BugSplat database, the name of your application and the version of your application:

Set the bugsplat.post function as an event handler for uncaught exceptions:

If your application uses promises you will also want to listen for unhandled promise rejections. Please note that this will only work for native promises:

Throw an exception after the event handler has been added:

You can also use bugsplat-js to post errors from non-fatal promise rejections and errors that originate inside of try-catch blocks:

After posting an error with bugsplat-js, navigate to the Crashes page in BugSplat and you should see a new crash report for the application you just configured. Click the link in the Id column to see details about your crash on the Individual Crash page:

Integrating Node.js with BugSplat Integrating Node.js with BugSplat

That’s it! Your application is now configured to post crash reports to BugSplat.


API


In addition to the configuration demonstrated above, there are a few public methods that can be used to customize your BugSplat integration:


Additional Considerations

It is recommended that you exit and restart your application after an uncaughtException or unhandledRejection occurs. Packages such as pm2 and forever can be configured to restart your application.

Additionally you can use domains to handle errors differently across various parts of your application. Domains are pending deprecation according the the Node.js documentation, however a suitable replacement has not been added yet.

More information regarding domain deprecation can be found here.


Contributing


BugSplat loves open source software! Please check out our project on GitHub and send us a pull request.