🚀 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
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.
For detailed usage instructions and API references, please visit the official documentation:
npm install base-log-factory// 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');| 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 |
| 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 |
-
Development Setup
npm install
-
Testing
npm test # Run unit tests
-
Before Submitting PRs
- Ensure ESLint is configured (VSCode plugin recommended)
- Add test cases for new features
- Update documentation
