https://github.com/jitesoft/yolog-email-plugin
Email plugin for @jitesoft/yolog package.
https://github.com/jitesoft/yolog-email-plugin
email hacktoberfest jitesoft logging nodejs plugin yolog
Last synced: 3 months ago
JSON representation
Email plugin for @jitesoft/yolog package.
- Host: GitHub
- URL: https://github.com/jitesoft/yolog-email-plugin
- Owner: jitesoft
- License: mit
- Created: 2019-10-27T21:07:41.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-10-08T11:10:29.000Z (8 months ago)
- Last Synced: 2025-10-08T13:16:43.912Z (8 months ago)
- Topics: email, hacktoberfest, jitesoft, logging, nodejs, plugin, yolog
- Language: JavaScript
- Homepage:
- Size: 2.11 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Yolog email plugin
[](https://www.npmjs.com/package/@jitesoft/yolog-email-plugin)
[](https://snyk.io/test/npm/@jitesoft/yolog-email-plugin)
[](https://gitlab.com/jitesoft/open-source/javascript/yolog-plugins/email/commits/master)
[](https://gitlab.com/jitesoft/open-source/javascript/yolog-plugins/email/commits/master)
[](https://www.npmjs.com/package/@jitesoft/yolog-email-plugin)
[](https://opencollective.com/jitesoft-open-source)
Plugin for the [`@jitesoft/yolog`](https://www.npmjs.com/package/@jitesoft/yolog) logger to post logs and errors to a set of email addresses.
The plugin is backed by [`nodemailer`](https://nodemailer.com/) and is able to use any transporter that nodemailer supports!
Due to the nature of the plugin and the dependency on nodemailer, this plugin is only supported on node-like platforms, not browser.
### Default transporter
If no transporter is passed to the Plugin through the constructor, a default `sendmail` transporter will be
added. If sendmail does not exist on the machine, the plugin will likely crash on logging messages.
### Templates
There are default templates set for `HTML`, `Text` and `Subject`.
Subject template is set through the constructor, while the text and html templates can
be changed with the `setHmlTemplate` and `setTextTemplate` methods in the instance.
Parameters that will be replaced are currently the following:
```
TAG - The message tag/type.
DATETIME - Date as ISO string.
MESSAGE - Log message.
STACKTRACE - Stack trace (from yolog.log and upwards).
```
Each parameter uses `{PARAMETER}` in the templates.
Default HTML template:
```html
{TAG} message logged.
At: {DATETIME}
Message:
{MESSAGE}
{STACKTRACE}
This message was logged via the @jitesoft/yolog email plugin.
```
Default text template:
```text
Logged a log message with {TAG} tag at {DATETIME}.\n\nMessage: {MESSAGE}\n\nCallstack:\n{STACKTRACE}
```
## Usage:
Install with your favorite package manager!
```bash
npm i @jitesoft/yolog-email-plugin --save
yarn add @jitesoft/yolog-email-plugin
```
Use it!
```javascript
import EmailPlugin from '@jitesoft/yolog-email-plugin';
import { logger } from '@jitesoft/yolog';
import nodemailer from 'nodemailer';
const plugin = new EmailPlugin(['target@target.target'], 'sender@sender.send', 'Subject!', [
nodemailer.createTransport({
/* ... */
})
]);
logger.addPlugin(plugin);
logger.error('YOU GOT MAIL!');
```
### Recommendation
Turn off lesser levels of logging for the plugin so that your inbox is not filled with debug messages and your smtp server
gets spam listed instantly!