base-log-factory
v3.0.0
Published
A flexible and simple JS logging library that allows logging or collecting logs in different environments by configuring various Appenders. Suitable for browser, NodeJS and other environments.
Readme
base-log-factory
🚀 A flexible and simple JS logging library that allows logging or collecting logs in different environments by configuring various Appenders. Suitable for browser, NodeJS and other environments.
🌟 Core Features
Multi-level logging
SupportsTRACE/DEBUG/INFO/WARN/ERROR/FATAL/OFFwith precise control over log granularity.Flexible Appender Configuration
Built-inConsoleAppender,FileAppender(size-based rolling),DateFileAppender(date-based rolling), and custom Appender extensions.Rich Formatting Options
ProvidesBasicLayoutandPatternLayout(similar to Log4j) with customizable placeholders.Context Management
Supports Mapped Diagnostic Context (MDC) for attaching request IDs, user information, etc.
📅 Documentation
For detailed usage instructions and API references, please visit the official documentation:
🚀 Quick Start
1. Installation
npm install base-log-factory2. Basic Usage
// factory.ts
import { LogFactory, ConsoleAppender } from 'base-log-factory';
export default new LogFactory({
appenders: [new ConsoleAppender()]
});
// main.ts
import logFactory from './factory';
const logger = logFactory.getLogger('app');
logger.info('Server started successfully');🛠 Core Concepts
1. Log Levels (with color coding)
| Level | Value | Description | Recommended Use Cases | |---------|-------|---------------------------|-------------------------------------| | TRACE | 6 | Detailed tracking logs | Debugging code flow | | DEBUG | 5 | Debugging information | Development-stage debugging | | INFO | 4 | Operational information | Key business process milestones | | WARN | 3 | Non-critical issues | Resource warnings (e.g., low memory)| | ERROR | 2 | Error events | Failed operations | | FATAL | 1 | Critical system failures | System crashes | | OFF | 0 | Disable all logging | Disable logging |
2. Appender Comparison
| Type | Features | Use Cases |
|--------------------|-----------------------------------|---------------------------|
| ConsoleAppender | Realtime console output | Development debugging |
| FileAppender | Size-based rolling (e.g., app.log.1)| Production logging |
| DateFileAppender | Date-based rolling (e.g., app.2023-08-01.log)| Daily log archiving |
📝 Contribution Guide
Development Setup
npm installTesting
npm test # Run unit testsBefore Submitting PRs
- Ensure ESLint is configured (VSCode plugin recommended)
- Add test cases for new features
- Update documentation

