@ctmackay/slack-winston

A Slack transport for winston

Usage no npm install needed!

<script type="module">
  import ctmackaySlackWinston from 'https://cdn.skypack.dev/@ctmackay/slack-winston';
</script>

README

slack-winston

NPM version NPM downloads MIT License

A Slack transport for winston.

NOTE: This package was forked from slack-winston; only difference so far is easy proxy support.

Index

Install

npm install -S winston slack-winston

Usage

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

var options = {
  domain: 'my-domain',
  token: 'my-slack-incoming-webhook-token',
  webhook_url: 'my-slack-incoming-webhook-url',
  channel: 'general',
  level: 'warn',
  proxy: 'http://myproxy.com:80'
}

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 "foo.slack.com")
  • 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)
  • proxy: proxy server to use

Credits

License

MIT