paulofellix / winston-discord-transport

A discord transport for Winston logger

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

A discord transport for Winston logger

License:MIT License


Languages

Language:TypeScript 100.0%