@zeing/pino-discord-transport
v1.0.12
Published
A transport for Pino that sends logs to a Discord channel via webhook.
Maintainers
Readme
@zeing/pino-discord-transport
A Pino transport that sends logs directly to a Discord webhook. Built with Bun.
Lightweight alternative inspired by existing Discord transports — optimized for modern runtimes.
✨ Features
- 🚀 Fast and lightweight
- 🔌 Native Pino v7+ transport
- 🧵 Supports Discord
threadId - 🧹 Optional field exclusion
📦 Installation
Bun (recommended)
bun add @zeing/pino-discord-transportnpm
npm install @zeing/pino-discord-transport🚀 Basic Usage
import pino from 'pino'
const logger = pino({
transport: {
targets: [
{
level: 'warn',
target: '@zeing/pino-discord-transport',
options: {
webhookURL: 'YOUR_DISCORD_WEBHOOK_URL',
threadId: 'THREAD_ID', // optional
excludeFields: ['pid', 'hostname'], // optional
},
},
],
},
})
logger.warn('This will be sent to Discord')
logger.error({ err, userId, ...},'This will be sent to Discord')
⚙️ Options
| Option | Type | Required | Description |
| --------------- | ---------- | -------- | ----------------------------------------- |
| webhookURL | string | ✅ Yes | Discord webhook URL |
| threadId | string | ❌ No | Send message to a specific Discord thread |
| excludeFields | string[] | ❌ No | Fields to remove from log payload |
📝 Log Level Behavior
Only logs at or above the configured level will be sent.
Example:
level: "warn";Will send:
warnerrorfatal
Will NOT send:
infodebugtrace
🧵 Thread Support
If your webhook belongs to a forum or thread-enabled channel:
threadId: "123456789012345678";Logs will be posted inside that thread.
🟢 Bun Compatibility
This package works natively with Bun.
bun run index.tsNo special configuration required.
🖥️ Compatibility
- Bun: Native support (recommended)
- Node.js: Works with Node.js 18+ (both ESM and CommonJS)
- npm / yarn / pnpm: Can be installed via any major package manager
- Pino v7+: Requires Pino version 7 or higher
Tested with:
- Bun v1.0+
- Node.js v18, v20
