1.0.4 • Published 2 years ago
node-log-to-slack-notifier v1.0.4
Slack Logger Module
This module provides a logging solution that integrates with Winston for local logging and Slack for real-time alerts. It is designed to facilitate easy monitoring and alerting for Node.js applications.
Features
- Local Logging: Logs info, error, and combined logs to local files.
- Slack Alerts: Sends log messages to a configured Slack channel for real-time alerting.
- Flexible Configuration: Uses environment variables for easy configuration without modifying code.
Prerequisites
To use this module, you need:
- Node.js installed on your system.
- A Slack workspace and the ability to create Incoming Webhooks.
Installation
- Clone the repository or copy the provided code into a new file in your project.
- Install dependencies by running
npm install winston @slack/webhook dotenv.
Configuration
- Set up an Incoming Webhook in Slack:
- Go to your Slack App settings.
- Navigate to "Incoming Webhooks", and create a new webhook. Copy the webhook URL.
- Configure environment variables:
- Create a
.envfile in the root of your project. - Add
SLACK_WEBHOOK_URL=your_webhook_url_herewith the URL you obtained from Slack.
- Create a
Usage
- Import the logger into your Node.js application:
const logger = require('./path_to_logger');- Log messages using the following methods:
logger.info('Informational message');
logger.error('Error message');- Info level messages will be logged to both the console and the
logs/combined.logfile. - Error level messages will be logged to the console,
logs/error.log, andlogs/combined.logfile. - If the Slack webhook URL is configured, info and error level messages will also be sent to the Slack channel.
Logging Levels
This module uses Winston's default logging levels:
error: 0warn: 1info: 2http: 3verbose: 4debug: 5silly: 6
File Structure
logs/: Directory for log files.error.log: Logs all error level messages.combined.log: Logs all messages.
Contributing
Contributions are welcome! Please feel free to submit a pull request or create an issue for any bugs or feature requests.
License
MIT License - see the LICENSE file for details.