@incentech/enhanced-logger
v1.0.0
Published
A powerful, configurable logger for Node.js applications with file and console output support
Maintainers
Readme
Enhanced Logger
A powerful, configurable logger for Node.js applications with file and console output support.
Features
- 📝 Multiple log levels (error, warn, success, info, debug, trace)
- 📁 File and console output
- 🎨 Pretty formatting with colors
- 🔒 Concurrent-safe file writing
- 🧪 Test-friendly
- ⚡ Lightweight and fast
- 🔄 Supports both CommonJS and ES modules
Installation
npm install @yourusername/enhanced-logger
# or
yarn add @yourusername/enhanced-loggerBasic Usage
CommonJS
const { logger } = require('@yourusername/enhanced-logger');
logger.info('This is an info message');
logger.success('Operation completed successfully!');
logger.warn('This is a warning');
logger.error('An error occurred', { error: new Error('Something went wrong') });ES Modules
import { logger } from '@yourusername/enhanced-logger';
logger.debug('Debug information');Configuration
Creating a Custom Logger
const { createLogger } = require('@yourusername/enhanced-logger');
const customLogger = createLogger({
logLevel: 'info', // default: 'info'
logToFile: true, // default: true
logToConsole: true, // default: true
logDir: './logs', // default: './logs'
colors: true // default: true
});Log Levels
Available log levels (from highest to lowest priority):
error- Errors that need immediate attentionwarn- Potentially harmful situationssuccess- Success messages (custom level)info- General informationdebug- Debug informationtrace- Very detailed debug information
API
Methods
logger.error(message, ...args)logger.warn(message, ...args)logger.success(message, ...args)logger.info(message, ...args)logger.debug(message, ...args)logger.trace(message, ...args)logger.child(options)- Create a child logger with inherited settings
Options
| Option | Type | Default | Description | |--------|------|---------|-------------| | logLevel | string | 'info' | Minimum log level to output | | logToFile | boolean | true | Whether to log to files | | logToConsole | boolean | true | Whether to log to console | | logDir | string | './logs' | Directory to store log files | | colors | boolean | true | Enable/disable colored output |
Advanced Usage
Child Loggers
Create a child logger with custom settings:
const childLogger = logger.child({
logLevel: 'debug',
logDir: './debug-logs'
});
childLogger.debug('This will be logged to debug-logs/');Environment Variables
You can configure the logger using environment variables:
LOG_LEVEL=debug
LOG_TO_FILE=true
LOG_TO_CONSOLE=true
LOG_DIR=./custom-logsLicense
MIT
