@spokedev/node-unhandled

0.0.5 • Public • Published

node-unhandled

About

A library for gracefully handling uncaught promise rejections and unhandled exceptions that bubble up to the event loop.

Why

Unhandled errors can cause your application to enter an unpredictable state. This lib helps you out by logging a trace and terminating the process.

Assuming you've got something to restart the process (e.g. a K8s service) your application will then restart in a predictable manner. This just leaves your monitoring to alert the issue, and your team to fix it :)

What does it do?

The default behaviour will log a trace to console.error and terminate the process with exit code 1 via process.exit(1).
If you provide a custom logger, it will log to logger.fatal.
You can provide custom handler functions as seen below.

How to use

Add it to your dependencies:

npm i @spokedev/node-unhandled

Then just one line for the default configuration:

const Unhandled = require('@spokedev/node-unhandled');
const unhandled = Unhandled();

You can optionally provide a custom logger:

const unhandled = Unhandled({
  logger: yourCustomLogger
})

Or custom handler functions:

const exceptionHandler = (err, origin) => console.log(err, origin);
const rejectionHandler = (reason, promise) => console.log(reason);

const unhandled = Unhandled({
  exceptionHandler,
  rejectionHandler
});

Readme

Keywords

none

Package Sidebar

Install

npm i @spokedev/node-unhandled

Weekly Downloads

1

Version

0.0.5

License

MIT

Unpacked Size

9.05 kB

Total Files

9

Last publish

Collaborators

  • spokedev_ro
  • spokedev_rw