JSPM

pino-slack-transport

1.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 640
  • Score
    100M100P100Q101549F
  • License MIT

pino transport that sends logs to Slack

Package Exports

  • pino-slack-transport

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (pino-slack-transport) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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.