1.0.7 • Published 6 months ago

npm-logger-winston v1.0.7

Weekly downloads
-
License
ISC
Repository
-
Last release
6 months ago

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! 🚀
1.0.7

6 months ago

1.0.6

6 months ago

1.0.5

6 months ago

1.0.4

6 months ago

1.0.3

6 months ago

1.0.2

6 months ago

1.0.1

6 months ago

1.0.0

6 months ago