Detalhes do pacote

base-log-factory

fengxinming33.6kMIT3.0.0

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.

log, logging, log4j

readme (leia-me)

base-log-factory

npm package

NPM version NPM Downloads License TypeScript

🚀 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


🚀 Quick Start

1. Installation

npm install base-log-factory

2. 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

  1. Development Setup

    npm install
    
  2. Testing

    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