Socket
Socket
Sign inDemoInstall

@log4js-node/smtp

Package Overview
Dependencies
1
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @log4js-node/smtp

SMTP Appender for log4js-node


Version published
Weekly downloads
687
increased by18.04%
Maintainers
1
Install size
497 kB
Created
Weekly downloads
 

Changelog

Source

2.0.8

  • chore(deps): removed unwanted dependencies - thanks @lamweili
    • chore(deps): removed debug
    • chore(deps): updated package-lock.json
  • chore(deps): updated dependencies - thanks @lamweili
    • chore(deps): bump nodemailer from 6.7.3 to 6.7.5
    • chore(deps-dev): bump eslint from 8.14.0 to 8.15.0
    • chore(deps-dev): bump husky from 7.0.4 to 8.0.1
    • chore(deps-dev): bump tap from 16.1.0 to 16.2.0
    • chore(deps-dev): bump typescript from 4.6.3 to 4.6.4
    • chore(deps): updated package-lock.json
  • chore(deps-dev): updated dependencies - thanks @lamweili
    • chore(deps-dev): bump tap from 16.0.1 to 16.1.0
    • chore(deps-dev): updated package-lock.json

Readme

Source

SMTP Appender for log4js CodeQL Node.js CI

NPM

Sends log events as emails. If you use this appender, you should also call log4js.shutdown when your application closes so that any remaining emails can be sent. Many of the configuration options below are passed through to nodemailer, so you should read their docs to get the most out of this appender.

npm install log4js
npm install @log4js-node/smtp

Configuration

  • type - @log4js-node/smtp
  • SMTP - object (optional, if not present will use transport field)
    • host - string (optional, defaults to localhost)
    • port - integer (optional, defaults to 25)
    • auth - object (optional) - authentication details
      • user - string
      • pass - string
  • transport - object (optional, if not present will use SMTP) - see nodemailer docs for transport options
    • plugin - string (optional, defaults to smtp) - the nodemailer transport plugin to use
    • options - object - configuration for the transport plugin
  • attachment - object (optional) - send logs as email attachment
    • enable - boolean (optional, defaults to false)
    • message - string (optional, defaults to See logs as attachment) - message to put in body of email
    • filename - string (optional, defaults to default.log) - attachment filename
  • sendInterval - integer (optional, defaults to 0) - batch emails and send in one email every sendInterval seconds, if 0 then every log message will send an email.
  • shutdownTimeout - integer (optional, defaults to 5) - time in seconds to wait for emails to be sent during shutdown
  • recipients - string - email addresses to send the logs to
  • subject - string (optional, defaults to message from first log event in batch) - subject for email
  • sender - string (optional) - who the logs should be sent as
  • html - boolean (optional, defaults to false) - send the email as HTML instead of plain text
  • layout - object (optional, defaults to basicLayout) - see layouts
  • cc - string (optional) - email addresses to send the carbon-copy logs to
  • bcc - string (optional) - email addresses to send the blind-carbon-copy logs to

Example (default config)

log4js.configure({
  appenders: {
    'email': {
      type: '@log4js-node/smtp', recipients: 'dev.team@company.name'
    }
  },
  categories: { default: { appenders: [ 'email' ], level: 'error' } }
});

This configuration will send an email using the smtp server running on localhost:25, for every log event of level ERROR and above. The email will be sent to dev.team@company.name, the subject will be the message part of the log event, the body of the email will be log event formatted by the basic layout function.

Example (logs as attachments, batched)

log4js.configure({
  appenders: {
    'email': {
      type: '@log4js-node/smtp',
      recipients: 'dev.team@company.name',
      subject: 'Latest logs',
      sender: 'my.application@company.name',
      attachment: {
        enable: true,
        filename: 'latest.log',
        message: 'See the attachment for the latest logs'
      },
      sendInterval: 3600
    }
  },
  categories: { default: { appenders: ['email'], level: 'ERROR' } }
});

This configuration will send an email once every hour, with all the log events of level 'ERROR' and above as an attached file.

Example (custom SMTP host)

log4js.configure({
  appenders: {
    email: {
      type: '@log4js-node/smtp', SMTP: { host: 'smtp.company.name', port: 8025 }, recipients: 'dev.team@company.name'
    }
  },
  categories: { default: { appenders: ['email'], level: 'info' } }
});

This configuration can also be written as:

log4js.configure({
  appenders: {
    email: {
      type: '@log4js-node/smtp',
      transport: {
        plugin: 'smtp',
        options: {
          host: 'smtp.company.name',
          port: 8025
        }
      },
      recipients: 'dev.team@company.name'
    }
  },
  categories: {
    default: { appenders: ['email'], level: 'info' }
  }
});

A similar config can be used to specify a different transport plugin than smtp. See the nodemailer docs for more details.

Keywords

FAQs

Last updated on 14 May 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc