Skip to content

Latest commit

 

History

History
87 lines (55 loc) · 2.21 KB

README.md

File metadata and controls

87 lines (55 loc) · 2.21 KB

pino-slack-transport

npm version npm downloads Known Vulnerabilities

This module provides a 'transport' for pino that sends logs to Slack.

Install

yarn install pino-slack-transport

Usage

lib/logger.mjs

import { createTransport } from 'pino-slack-transport'

// with options defined in pino
export default createTransport

// with options defined in this module
const options = { webhookUrl: 'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX' }

export default function transport() {
  return createTransport(options)
}

src/logger.ts

import { createTransport } from 'pino-slack-transport'
import { pino } from 'pino'

const options = { webhookUrl: 'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX' }

const logger = pino(
  pino.transport({
    targets: [
      // { level: 'error', target: '#pino/file', options: { destination: '/dev/stderr' } },
      // { level: 'trace', target: '#pino/file', options: { destination: '/dev/stdout' } },
      { level: 'debug', target: '../lib/logger.mjs', options }
    ]
  })
)

Options

channelKey

The string key for the 'channel' in the JSON object.

By default, the channel inherits from the associated Slack app configuration.

colors

Default: { 30: '#2EB67D', 40: '#ECB22E', 50: '#E01E5A', 60: '#E01E5A' }

The mapping from level to color.

excludedKeys

Default: { hostname: 0, pid: 0 }

The string keys excluded from the JSON object.

imageUrlKey

The string key for the image URL in the JSON object.

keepAlive

Keep sockets around so they can be used for future requests without having to reestablish a TCP connection.

messageKey

Default: 'msg'

The string key for the 'message' in the JSON object.

webhookUrl (required)

The Incoming Webhook URL.