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.
npm install 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.
---
- Multi-level logging
Supports TRACE/DEBUG/INFO/WARN/ERROR/FATAL/OFF with precise control over log granularity.
- Flexible Appender Configuration
Built-in ConsoleAppender, FileAppender (size-based rolling), DateFileAppender (date-based rolling), and custom Appender extensions.
- Rich Formatting Options
Provides BasicLayout and PatternLayout (similar to Log4j) with customizable placeholders.
- Context Management
Supports Mapped Diagnostic Context (MDC) for attaching request IDs, user information, etc.
---
For detailed usage instructions and API references, please visit the official documentation:
---
bash
npm install base-log-factory
`$3
`typescript
// 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
$3
| 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 |$3
| 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
1. Development Setup
`bash
npm install
`2. Testing
`bash
npm test # Run unit tests
``3. Before Submitting PRs
- Ensure ESLint is configured (VSCode plugin recommended)
- Add test cases for new features
- Update documentation
---