better-promise-error-log
Better error logs for unhandled errors in promises.
Tested with native promises and Bluebird promises.
This module uses the sibling module, jsonify-error, to prepare the error for logging.
Installation
In Browsers
For browsers, simply include one of the dists in your entry point, such as dist/better-promise-error-log.js
. The dists are available in jsDelivr:
<script src="https://cdn.jsdelivr.net/npm/better-promise-error-log@1.4.3/dist/better-promise-error-log.js" integrity="sha384-FSQKT2TZIXJM7bcJcAAoxX07ORDy1I8RQ+Jz4gzsiCOspkZG8+61HQ1ymMgami//" crossorigin="anonymous"></script>
The following dists are available (with source maps):
dist/better-promise-error-log.js
dist/better-promise-error-log.min.js
dist/better-promise-error-log.es5.js
dist/better-promise-error-log.es5.min.js
In Node
npm install --save better-promise-error-log
Add the following line to the beginning of your entry point:
require("better-promise-error-log");
And then automatically your whole program will have better error logs for unhandled errors in promises.
Example result (in node)
Promise.resolve().then(() => {
var err = new TypeError("My message");
err.someField = { something: "whoops" };
TypeError.prototype.test = "oops!";
throw err;
}).then(() => {
console.log("This does not execute.");
});
Without require("better-promise-error-log")
:
With require("better-promise-error-log")
, you'll get something similar to:
Note: the whole error formatting is done by the sibling module, jsonify-error.
Example result (in browser)
Promise.resolve().then(() => {
var err = new TypeError("My message");
err.someField = { something: "whoops" };
TypeError.prototype.test = "oops!";
throw err;
}).then(() => {
console.log("This does not execute.");
});
Without better-promise-error-log
:
With better-promise-error-log
, you'll get something similar to:
Note: the whole error formatting is done by the sibling module, jsonify-error.
Contributing
Any contribution is very welcome. Feel free to open an issue about anything: questions, suggestions, feature requests, bugs, improvements, mistakes, whatever. I will be always looking.
Changelog
The changelog is available in CHANGELOG.md.
License
MIT (c) Pedro Augusto de Paula Barbosa