An easy way to send emails notifications with stack trace whenever an error occurs on the server for Node JS applications.
npm install awarejs --save
- After installing, create an AwareJS class object and initialise it using these configurations.
let options = {
mailer: {
credentials: { // Node mailer initialization options
host: 'smtp.mailtrap.io',
port: '2525',
secure: false,
auth: {
user: 'MAIL_USERNAME',
pass: 'MAIL_PASSWORD',
}
},
config: { // Node mailer message configuration options
to: '[email protected]',
from: '[email protected]',
},
},
params: {
footer: {
unsubscribe: {
link: 'LINK_TO_UNSUBSCRIBE_ELSE_NULL',
}
}
},
debug: true, // prints console.log() wherever needed to debug the issue
};
const aware = new Aware(options);
const errorObj = new Error('Hello World Test Error');
aware.setError(errorObj);
aware.trigger();
// aware.trigger([ { name: 'URL', value: 'https://someurl.com' } ]); with extra info to include at last of the email.
Method Name | Description | Required |
---|---|---|
setError(errorObj) | This method takes in the error object which consumes the error and extract required information from it. It also prepares error data to be triggered via email. | Yes |
setupMailer(setMailerConfig) | This method takes in the credentials for Nodemailer to initialize it. Check NodeMailer Docs for setting up the mail client. You can also pass mailer.credentials in constructor object to initialize it while object creation |
Optional |
setMailerConfig(config) | This method takes in the message configurations defined in NodeMailer Message Docs. You can also pass mailer.config in constructor object to initialize it while object creation |
Optional |
setDontReportErrors(errorNamesArr) | This method takes in an array of error names (as in error.constructor.name ) and makes sure that names inside this array should be neglected for triggering out the emails/notifications to |
Optional |
trigger(extraInfo) | This method takes in an array of objects (e.g.: [ { name: 'URL', value: 'https://someurl.com' } ] ) which could be added as an extra information at the end of the email |
Yes |
test(extraInfo) | This method can be used to test the working of this module. After executing this method you should receive a test email to make sure everything is working fine. | Optional |
If you find any security related issue, please email [email protected] instead of using the issue tracker.
The MIT License. Please see License File for more information.