1.1.0 • Published 3 years ago
pino-slack-transport v1.1.0
pino-slack-transport
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.