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.
🌟 Core Features
Multi-level Logging
SupportsTRACE/DEBUG/INFO/WARN/ERROR/FATAL/OFF
seven-level logging granularity for precise control over log output.Flexible Appender Configuration
Built-inConsoleAppender
(console output),FileAppender
(size-based rotation), andDateFileAppender
(date-based rotation). Supports custom Appender extensions.Rich Log Formatting
ProvidesBasicLayout
(basic format) andPatternLayout
(Log4j-like flexible format). Supports custom placeholders.Context Management
Supports MDC (Mapped Diagnostic Context) to carry context data like request IDs and user information in logs.
🛠 Core Concepts Explained
1. Logging Levels (with Color Coding)
Level | Value | Description | Recommended Use Cases |
---|---|---|---|
TRACE | 6 | Trace-level detailed logs | Debugging code logic with detailed flow tracking |
DEBUG | 5 | Debug information | Debugging outputs during development |
INFO | 4 | Routine operational info | Critical node records in normal workflow |
WARN | 3 | Warning events | Non-fatal but notable issues (e.g., resource shortages) |
ERROR | 2 | Error events | Recording failed operations or exceptions |
FATAL | 1 | Critical failure events | System-critical errors causing crashes |
OFF | 0 | Disable all logging | Disable logging entirely |
2. Appender Type Comparison
Type | Features | Typical Use Cases |
---|---|---|
ConsoleAppender | Real-time output to console | Development debugging phase |
FileAppender | Size-based rotation (e.g., app.log.1) | Production environment logging persistence |
DateFileAppender | Date-based rotation (e.g., app.2023-08-01.log) | Archiving logs by date requirements |