npm.io
3.0.0 • Published 1 year ago

base-log-factory

Licence
MIT
Version
3.0.0
Deps
2
Size
39 kB
Vulns
0
Weekly
0
Stars
1

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

Keywords