Skip to content

ivanmarban/winston-telegram

Repository files navigation

winston-telegram

NPM

A Telegram transport for winston.

Version npm npm Downloads CI Status Coverage Status JavaScript Style Guide

winston-telegram@2

Installation:

$ npm install winston@3
$ npm install winston-telegram@2

Looking for winston-telegram@1.x ?

Documentation below is for winston-telegram@2. Read the winston-telegram@1.x documentation.

Usage

const logger = require('winston')
const TelegramLogger = require('winston-telegram')

// or
import TelegramLogger from 'winston-telegram';

logger.add(new TelegramLogger(options))

Options:

  • token The Telegram bot authentication token. [required]
  • chatId The Telegram chatid you want to send to. [required]
  • messageThreadId The Telegram unique identifier of a message thread to which the message belongs. [optional]
  • parseMode The Telegram mode for parsing entities in the message text. See formatting options for more details. [optional]
  • level Level of messages that this transport should log. [optional] [default info]
  • unique Whether to log only the declared level and none above. [boolean] [optional]
  • silent Whether to suppress output. [boolean] [optional]
  • disableNotification Sends the message silently. [boolean] [optional]
  • template Format output message. [string] [optional]
  • formatMessage Format output message by own method. [function] [optional]
  • handleExceptions Handle uncaught exceptions. [boolean] [optional]
  • batchingDelay Time in ms within which to batch messages together. [integer] [optional] [default 0 or disabled]
  • batchingSeparator String with which to join batched messages with [string] [default "\n\n"]

String template is based on named arguments:

'{level}' -> level of messages
'{message}' -> text of messages
'{metadata}' -> metadata object of messages

Examples

Follow below steps to run the examples:

$ git clone git@github.com:ivanmarban/winston-telegram.git -b master --single-branch
$ npm install

Replace TELEGRAM_TOKEN and CHAT_ID with appropiate values, then run whatever example you want:

$ node examples/default-logger.js