README.md md Copy Edit
ch-logger
A reusable, Winston-based logging utility for Node.js/TypeScript packages at CH. Supports:
- Console logging by default
- Optional file logging via environment variables
- Log level control via
LOG_LEVEL
- Custom logger injection for full flexibility
🚀 Installation
`
bash
npm install ch-logger
📦 Usage ✅ Default Logger (Console) ts import { getLogger } from 'ch-logger'; const logger = getLogger(); logger.info('Hello from ch-logger!');
🔁 Custom Logger Injection ts
import winston from 'winston'; import { getLogger } from 'ch-logger';
const custom = winston.createLogger({ level: 'debug', transports: [new winston.transports.Console()] });
const logger = getLogger(custom); logger.debug('Using injected logger'); ⚙️ Environment Variables You can control logging behavior using .env or process.env:
Variable Description Example LOG_LEVEL Sets log level (debug, info, etc.) LOG_LEVEL=debug LOG_TO_FILE Enables file logging (true or false) LOG_TO_FILE=true LOG_FILE Log file path (default: app.log) LOG_FILE=logs/app.log 📁 Output Example
2025-04-16T13:45:33.125Z [INFO] Starting ch-uploader... 2025-04-16T13:45:34.456Z [DEBUG] Uploading file: invoice.pdf .