Skip to content
Slack WebHook transport for Winston logging library
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.editorconfig
.gitignore
.jshintrc
.travis.yml
CHANGELOG.md
LICENSE
MAINTAINERS.md
Makefile
README.md
index.js
package.json

README.md

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
  • colors: set to {} by default (no colors), set the color of the message given a level.

Formatter and colors

Messages can be 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;
      },
      colors: {
        warn: 'warning',
        error: 'danger',
        info: 'good',
        debug: '#bbddff'
      }
    })
  ]
});

License

MIT © Fahad Ibnay Heylaal

You can’t perform that action at this time.