Fork of the Slack transport for winston lib with updated dependencies

Usage no npm install needed!

<script type="module">
  import slackWinstonFresh from '';



MIT License

Disclaimer: this is just a fork of slack-winston library with up-to-date dependencies (requires Node v6 or higher). Almost everything else left as is.

A Slack transport for winston.

NOTE: This package was created because winston-slack did not have similar code structure to winston-hipchat (switched from using HipChat → Slack and wanted consistency).



npm install -S winston slack-winston-fresh


var winston = require('winston')
var slackWinston = require('slack-winston-fresh').Slack

var options = {
  domain: 'my-domain',
  token: 'my-slack-incoming-webhook-token',
  webhook_url: 'my-slack-incoming-webhook-url',
  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
  • webhook_url: Required. Slack incoming webhook url.
  • channel: Required. Channel of chat (e.g. "#foo" or "@foo")
  • domain: Required. Domain of Slack (e.g. "foo" if "")
  • username: Username of the incoming webhook Slack bot (defaults to "Winston")
  • icon_emoji: Icon of bot (defaults to :tophat: :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 the text field in the payload per Slack requirements.
  • queueDelay: Delay time (ms) between messages in queue (defaults to 500)