logger-utility-srj
v1.0.2
Published
Simple Winston-based logger utility with daily file rotation
Maintainers
Readme
logger-utility
A simple, singleton-pattern-based logging utility using winston and winston-daily-rotate-file for rotating log files daily with convenient log management.
Features
- Singleton logger instance for consistent logging
- Logs to console and daily rotated log files
- Customizable log directory
- Supports multiple log levels:
info,warn,error,debug,fatal - Automatically creates log directory if missing
Installation
npm install logger-utilityUsage
const { LoggerUtil } = require("logger-utility");
const logger = LoggerUtil.getInstance();
logger.log("info", "This is an info message");
logger.log("error", "This is an error message");Important Notes
Singleton Pattern
- Only one instance of the logger exists during the app lifecycle.
- Access the logger only via the
LoggerUtil.getInstance()method. - Do not instantiate
LoggerUtildirectly.
What to do
const logger = LoggerUtil.getInstance();
logger.log("info", "Logging an informational message");What NOT to do
1. Instantiating LoggerUtil directly (breaks singleton):
// ❌ Avoid this!
const logger = new LoggerUtil(); // Will break singleton pattern or throw error
logger.log("info", "This is incorrect usage");2. Detaching log method from instance (loses this context):
const logger = LoggerUtil.getInstance();
const log = logger.log;
log("info", "This will not work correctly because `this` is undefined inside log");Always call log via the instance:
logger.log("info", "Correct usage");3. Creating multiple instances manually:
// ❌ Avoid multiple instances manually
const logger1 = LoggerUtil.getInstance();
const logger2 = LoggerUtil.getInstance();
// Both are same instance (good)
// But do NOT do:
const badLogger = new LoggerUtil(); // Don't do thisAPI
LoggerUtil.getInstance()
Returns the singleton instance of the logger.
logger.log(level: LogLevel, message: string): void
Logs a message at the specified log level.
level: One of"info" | "warn" | "error" | "debug" | "fatal"message: Log message string
License
MIT License © [SURAJ]
Author
[SURAJ] — [email protected]
GitHub: https://github.com/suraj-o
