A lightweight Node.js logging handler that sends application logs to Discord channels via webhooks, with color-coded embeds, timestamps, and stack traces.
- Colour-coded embeds by log level
- Supports full stack traces for errors and exceptions
- Configurable minimum log level
- Async, non-blocking log delivery
- Simple drop-in integration for any Node.js project
npm install discord-logging-handler
Initialise the logger with:
import DiscordLog from 'discord-logging-handler';
const logger = new DiscordLog('WEBHOOKURL', { level: 'LEVEL' })Legacy style (Javascript)
import DiscordLog from 'discord-logging-handler';
const logger = new DiscordLog('WEBHOOKURL', 'LEVEL')WEBHOOKURL: Your webhook from Discord Integrations. UseDEVto enable development mode (logs are suppressed during builds/tests).LEVEL(optional): The minimum level that should trigger logs to be sent to Discord. Defaults to'ERROR'.
Send logs with:
logInstance.log('Message', 'LEVEL', error)LEVEL(optional): Log severity-'DEBUG','INFO','WARNING','ERROR','CRITICAL'. Defaults to'INFO'.error(optional): AnErrorobject or exception to include in the log. Defaults to null.
import DiscordLog from 'discord-logging-handler'
const logger = new DiscordLog('YOUR_WEBHOOK_URL', 'DEBUG')
logger.log('This is an INFO log', 'INFO')
try {
throw new Error('Sample error')
} catch (err) {
logger.log('An error occurred', 'ERROR', err)
}Discord allows webhooks to be created via Server Settings → Integrations.
- Go to Server Settings → Integrations
- Under Webhooks, click New Webhook
- Copy the generated webhook URL
See the full Changelog for details on version history.
Contributions, issues, and feature requests are welcome!
Feel free to open an issue or submit a pull request on GitHub.
MIT License
Copyright (c) 2025 Moses White

