0.1.1 • Published 8 years ago

error-notifier v0.1.1

Weekly downloads
-
License
ISC
Repository
-
Last release
8 years ago

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 titleRequiredDescription
projectNamenothe 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)
notificationTypeyestype of notification you prefer; currently supported values: 'email'
senderEmailyes, if you are using notification via emailemail address that will be used for sending messages errors (they will come from this one); gmail is strictly desired
senderPassyes, if you are using notification via emailpassword from senderEmail
emailsyes, if you are using notification via emailemail 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: ['receiver1@gmail.com', 'receiver2@gmail.com'],
    senderEmail: 'sender@gmail.com',
    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

0.1.1

8 years ago

0.1.0

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago