Skip to content

Brinkbit/winston-slack-hook

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

winston-slack-hook Travis Build Status npm

Slack WebHook transport for Winston logger library

Install

$ npm install --save winston winston-slack-hook

Requirements

Usage

Basic

var winston = require('winston');
var SlackHook = require('winston-slack-hook');

var Logger = winston.Logger;
var Console = winston.transports.Console;

var logger = new Logger({
  transports: [
    new Console({}),
    new SlackHook({
      hookUrl: 'https://hooks.slack.com/services/XXX/YYY/ZZZ',
      username: 'bot',
      channel: '#logs'
    })
  ]
});

logger.info('I am being logged here'); // will be sent to both console and Slack

Options

Require:

  • hookUrl: Slack URL to post to
  • username: Message will be posted as this username
  • channel: The channel to post in

Optional:

  • iconEmoji: Give the username an emoji as an avatar
  • prependLevel: set to true by default, sets [level] at the beginning of the message
  • appendMeta: set to true by default, sets stringified meta at the end of the message $ formatter(options): function for transforming the message before posting to Slack

Formatter

Messages can be formatted formatted further before posting to Slack:

var logger = new Logger({
  transports: [
    new SlackHook({
      hookUrl: 'https://hooks.slack.com/services/XXX/YYY/ZZZ',
      username: 'bot',
      channel: '#logs',

      formatter: function (options) {
        var message = options.message; // original message

        // var level = options.level;
        // var meta = options.meta;

        // do something with the message

        return message;
      }
    })
  ]
});

License

MIT © Fahad Ibnay Heylaal

About

Slack WebHook transport for Winston logging library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%