NOTE: This package was created because
winston-slack
did not have similar code structure towinston-hipchat
(switched from using HipChat → Slack and wanted consistency).
npm install -S winston slack-winston
var winston = require('winston')
var slackWinston = require('slack-winston').Slack
var options = {
domain: 'my-domain',
token: 'my-slack-incoming-webhook-token',
channel: 'general',
level: 'warn'
}
winston.add(slackWinston, options)
Many options can be seen in the Slack API docs.
- level: Level of messages that this transport should log
- silent: If true, will not log messages
- token: Required. Slack incoming webhook token
- channel: Required. Channel of chat (e.g. "#foo" or "foo")
- domain: Required. Domain of Slack (e.g. "foo" if "foo.slack.com")
- username: Username of the incoming webhook Slack bot (defaults to "Winston")
- icon_emoji: Icon of bot (defaults to 🎩
:tophat:
) - message: lodash templates. Gets passed the
{{message}}
,{{level}}
, and{{meta}}
as a JSON string. If not specified, it will print a default of{{message}}\n\n{{meta}}
. Note that this gets sent as thetext
field in the payload per Slack requirements.
- Based on winston-hipchat by Joey Baker
- Based on winston-loggly by Charlie Robbins