error-notifier
v0.1.1
Published
Module for reporting errors
Downloads
8
Readme
Error Notifier
About
This module serves for sending you notifications about errors, that occure on your server. Depending on their severance, your server may misbehave or even go down, and you may not notice it in time (until you are not monitoring logs around the clock). This module can send you a message whenever such thing happens, so you are able to stay on the line and receive information about your server failures instantly. Currently we support only e-mails sending, but we plan to implement texting via messengers (at least Telegram and Skype) and push-notifications
Usage
1. Installation
To use this in your project, simply run:
$ npm install --save error-notifier
2. Configuring
Require ErrorNotifier from your code and create an instance of it:
let ErrorNotifier = require('error-notifier');
let notifier = new ErrorNotifier(options);
options
here is an object, containing following fields:
| Field title | Required | Description | |:---|:---|:---| | projectName | no | the title of your project (used within a message - so you'll be able to recognize there the problem appeared, if you are using ErrorNotifier on multiple projects) | | notificationType | yes | type of notification you prefer; currently supported values: 'email' | | senderEmail | yes, if you are using notification via email | email address that will be used for sending messages errors (they will come from this one); gmail is strictly desired | | senderPass | yes, if you are using notification via email | password from senderEmail | | emails | yes, if you are using notification via email | email addresses of notification receivers; may be put as string or array of strings | Example configuration of ErrorNotifier for sending emails:
let notifier = new ErrorNotifier({
projectName: 'My precious project',
notificationType: 'email',
emails: ['[email protected]', '[email protected]'],
senderEmail: '[email protected]',
senderPass: 'iddqd42'
});
3. Invoking
When you receive an error in your app, just pass it to notifier.process()
method.
For example:
try {
let a = b;
} catch (exc) {
notifier.process(exc);
}
Depending on which notification type you've selected, you'll receive certain kind of message with content like this:
An issue occured to My precious project
Received error: ReferenceError: b is not defined
at Object. (/home/shashkov_cr/PhpstormProjects/ErrorNotifier/test.js:12:13)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:456:32)
at tryModuleLoad (module.js:415:12)
at Function.Module._load (module.js:407:3)
at Function.Module.runMain (module.js:575:10)
at startup (node.js:160:18)
at node.js:445:3
This works well with:
// handling server error in express
app.use(function(err, req, res, next) {
notifier.process(err);
res.status(500);
res.render('err500.ejs');
});
// or in Node apps in general:
// uncaught exceptions
process.on('uncaughtException', (err) => {
notifier.process(err);
});
// unhandled rejections of Promises
process.on('unhandledRejection', (reason, promise) => {
notifier.process(reason);
});
See also
Repository of this project is located here