Dev Build / cleanup (push) Canceled after 0s
Dev Build / typecheck (push) Canceled after 0s
Dev Build / build (linux-arm64, ubuntu-24.04-arm, linux-arm64) (push) Canceled after 0s
Dev Build / build (linux-x64, ubuntu-latest, linux-x64) (push) Canceled after 0s
Dev Build / build (win-x64, windows-latest, win32-x64) (push) Canceled after 0s
Dev Build / dispatch-dev-docker (push) Canceled after 0s
107 lines
3.6 KiB
Plaintext
107 lines
3.6 KiB
Plaintext
# base-log-factory
|
|
|
|
[](https://www.npmjs.com/package/base-log-factory)
|
|
|
|
[](https://npmjs.org/package/base-log-factory)
|
|
[](https://npmjs.org/package/base-log-factory)
|
|
[](LICENSE)
|
|
[](https://www.typescriptlang.org/)
|
|
|
|
> 🚀 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**
|
|
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.
|
|
|
|
---
|
|
|
|
## 📅 Documentation
|
|
|
|
For detailed usage instructions and API references, please visit the official documentation:
|
|
|
|
👉 [View Full Documentation](https://fengxinming.github.io/base-log-factory/)
|
|
|
|
---
|
|
|
|
## 🚀 Quick Start
|
|
|
|
### 1. Installation
|
|
```bash
|
|
npm install base-log-factory
|
|
```
|
|
|
|
### 2. Basic Usage
|
|
```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
|
|
|
|
### 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
|
|
|
|
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
|
|
|
|
---
|
|
|
|
## 📄 License
|
|
|
|
[MIT License](../../LICENSE)
|