Awesome Open Source
Awesome Open Source

Codecov Build Node Gitter Twitter Medium

📰 Medium article.

Show some ❤️ to Node.js process errors.

Node.js prints process errors (uncaughtException, warning, unhandledRejection, rejectionHandled) on the console which is very useful. Unfortunately those errors:

log-process-errors fixes all those issues.

Without log-process-errors:

Screenshot before

With log-process-errors:

Screenshot after

Use cases

  • Proper logging of process errors in production.
  • Debugging of process errors in development.
  • Automated testing of process errors.


You can try this library:


Production code (e.g. a server) can install this either as a production or development dependency:

npm install log-process-errors

However, libraries should install this as a development dependency:

npm install -D log-process-errors

This is because logging is modified globally and libraries users might not expect this side-effect. Also, this might lead to conflicts between libraries.


There are two ways to load this library. The first is to use the node -r CLI flag:

node -r log-process-errors/build/register ...

The second is:

const logProcessErrors = require('log-process-errors')

logProcessErrors() should be called as early as possible in the code, before other require/import statements.


options is an optional object with the following properties.


Type: function(error, level, originalError)

Customizes how process errors are logged.
Full documentation.


Type: object
Default: { warning: 'warn', multipleResolves: 'info', default: 'error' }

Which log level to use.
Full documentation.


Type: string[]
Default: ['uncaughtException', 'unhandledRejection'] for Node >= 15.0.0, ['uncaughtException'] otherwise.

Which process errors should trigger process.exit(1).
Full documentation.


Type: string
Value: 'ava', 'mocha', 'jasmine', 'tape' or 'node-tap'
Default: undefined

When running tests, makes them fail if there are any process errors.
Full documentation.


Type: boolean
Default: true if the output is a terminal.

Colorizes messages.
Full documentation.


If you found a bug or would like a new feature, don't hesitate to submit an issue on GitHub.

For other questions, feel free to chat with us on Gitter.

Everyone is welcome regardless of personal background. We enforce a Code of conduct in order to promote a positive and inclusive environment.


This project was made with ❤️. The simplest way to give back is by starring and sharing it online.

If the documentation is unclear or has a typo, please click on the page's Edit button (pencil icon) and suggest a correction.

If you would like to help us fix a bug or add a new feature, please check our guidelines. Pull requests are welcome!

Thanks go to our wonderful contributors:


💻 🎨 🤔 📖

Steven Vachon



📖 💻

Andy Brenneke


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (68,065
nodejs (3,635
library (1,276
testing (920
monitoring (599
es6 (519
logging (391
promise (200
test (198
debugging (177
error-handling (95
code-quality (79
process (54
error (41
handler (36
exception (16
error-handler (15

Find Open Source By Browsing 7,000 Topics Across 59 Categories