1.0.7 • Published 6 months ago
npm-logger-winston v1.0.7
winston-logger
winston-logger
is a powerful logging solution built on Winston, featuring winston-daily-rotate-file
for automatic log rotation. Designed for microservices, it provides log level control, daily log rotation, and timestamped logs, ensuring efficient and scalable log management.
🚀 Features
- Log Level Control: Supports multiple log levels (error, warn, info, debug, etc.)
- Daily Log Rotation: Keeps logs organized and prevents excessive file growth.
- Structured Logging: Supports JSON-based structured logs for better debugging.
- Execution Time Measurement: Tracks execution times with
time_trace
.
📥 Installation
To install winston-logger
from GitHub, run:
npm install npm-logger-winston
📌 Usage
1️⃣ Import and Initialize the Logger
const getLogger = require('npm-logger-winston');
const logger = getLogger(callingModule, dirPath, env); // 'logs' is the directory where log files will be stored
2️⃣ Log Messages with Different Levels
logger.info('Application started successfully');
logger.warn('Low disk space warning');
logger.error('Database connection failed');
logger.debug('Debugging information');
Structured Logging Example
logger.info({ message: 'User logged in', userId: 123 });
logger.error({ message: 'Payment failed', orderId: 456, reason: 'Insufficient funds' });
3️⃣ Measure Execution Time (time_trace)
const timer = logger.startTimer();
setTimeout(() => {
timer.done({ message: 'Database query executed', level: 'time_trace' });
}, 2000);
trace_time Function
The trace_time
function helps measure execution time for a given function.
Usage:
const logger = require('npm-logger-winston');
logger.trace_time("Processing data", () => {
for (let i = 0; i < 1e6; i++); // Simulated heavy computation
});
---
## 🔧 Configuration
| Log Level | Description |
|------------|----------------------------------------------------|
| `error` | Critical errors that need immediate attention |
| `warn` | Warnings about potential issues |
| `info` | General information messages |
| `http` | HTTP request logs |
| `verbose` | More detailed information logs |
| `debug` | Debugging messages |
| `time_trace` | Logs execution time of operations |
### 🌍 ENV Configuration
| Environment | Log Level Scope |
|-------------|--------------------------------------------------|
| `error` | Logs up to `error` level |
| `warn` | Logs up to `warn` level |
| `info` | Logs up to `info` level |
| `time_trace`| Logs up to `time_trace` level |
| `silly` | Logs up to `silly` level |
---
## 📜 License
This project is licensed under the MIT License.
---
Happy Logging! 🚀