pino-discord-transport
v2.0.8
Published
A pino transport that sends logs to discord trough chat webhooks
Downloads
30
Maintainers
Readme
pino-discord-transport
This module provides a transport for pino to send logs over discord webhooks.
Install
yarn add pino-discord-transport
Usage
For test purposes
import { createTransport } from 'pino-discord-transport';
import { pino } from 'pino';
const options = {
webhookUrl: 'add your webhook url here',
webhookType: 1,
title: 'Test'
};
const logger = pino(createTransport(options));
logger.info('Hello World!');
The code above should produce this message on your discord chat
This was created to be used within a Fastify application.
Here is an example on how to to use this transport within a fastify application.
import Fastify from 'fastify';
import { createTransport } from 'pino-discord-transport';
import { pino } from 'pino';
const options = {
webhookUrl: 'add your webhook url here',
webhookType: 1, // optional, defaults to 1 if not specified
title: 'Test',
};
const discordLogger = pino(createTransport(options));
const fastify = Fastify({
logger: discordLogger,
});
const server = async () => {
await fastify.ready();
try {
fastify.listen({
host: 'localhost',
port: 3000,
});
} catch (err) {
fastify.log.error(err);
process.exit(1);
}
};
server();
You can also exclude some tags from being sent with the removeTags
property
const logger = pino(createTransport(options, ['pid', 'hostname']));
It's also possible to search for specific keywords in the log message and stop them from being sent using the filterMsgByKeyword
property
const logger = pino(createTransport(options, [], ["hello"]));
The log message is parsed to lowercase before the search, so you should add only lowercase keywords.
Contribution
Feel free to contribute to this package by opening up a pull request.
This package was inspired on the package pino-slack-transport. I believe the creator of the package is due some credit.