@c0b41/winston-discord-transport

A Discord transport for winston logger

Usage no npm install needed!

<script type="module">
  import c0b41WinstonDiscordTransport from 'https://cdn.skypack.dev/@c0b41/winston-discord-transport';
</script>

README

Dependency Status devDependency Status Build Status Known Vulnerabilities

Winston Discord Transport

A custom winston transport for Discord.

This library serves as a Transport for winston, a popular Nodejs logging library.

Features

  1. Sends complete error stack to discord (see screenshot below)
  2. Color codes messages based on log level. Errors are red!
  3. Includes information about host machine to pin point source of message.
  4. Add any other meta data you want to see in Discord.

Installation

$ npm i winston-discord-transport

Usage

Add as a transport

import winston from 'winston';
import DiscordTransport from 'winston-discord-transport';

const logger = winston.createLogger({
  transports: [
    new DiscordTransport({
      webhook: 'https:/your/discord/webhook',
      defaultMeta: { service: 'my_node_service' },
      level: 'warn'
    })
  ],
});

logger.log({
  level: 'error',
  message: 'Error intializing service',
  meta: {
    additionalKey: 'someValue'
  },
  error: new Error()
});

Selectively skip a particular message from being sent to Discord

There might be some log messages which you might want to raise to a file or console, but not flood your Discord channel. For such message, just include discord: false as a key-value in the log message and the transport will drop the message from being sent to Discord.

logger.log({
  level: 'warn',
  message: 'Some warning message to not send to discord',
  discord: false
});

Screenshots

Error message
Error message screenshot
Warning message
Warning message screenshot
Info message
Info message screenshot
Verbose message
Verbose message screenshot
Debug message
Debug message screenshot
Silly message
Silly message screenshot