UNPKG

log-rank

Version:

A priority-based console logger for Node.js and browser environments. Log messages with custom priorities and control the order they appear β€” ideal for debugging complex flows, batching logs, or building clean dev tools.

145 lines (95 loc) β€’ 3 kB
# log-rank **A customizable console log utility with priority handling, message grouping, and emoji support.** ## πŸ“¦ Installation ```bash npm install log-rank ``` or ```bash yarn add log-rank ``` --- ## πŸ’‘ Why this package? While working on a large codebase filled with scattered `console.log()` statements, filtering relevant logs became difficult. I built **log-rank** to give structure, priority, and clarity to console outputsβ€”especially during debugging and feature development. --- ## πŸš€ Features - Set priority for your console messages - Supports `log`, `warn`, `error`, `success`, and `failure` message types - Automatically clears console before reprinting grouped messages - Emoji support for success and failure logs - Toggle timestamps - Control max number of messages - Disable console globally if needed --- ## πŸ“˜ Usage ### 1. Basic Setup ```ts import { Console } from "log-rank"; const logger = new Console({ maximumConsoleAllowed: 100, isConsoleDisable: false, timeFormat: "ISO", // or "LOCALE" reversePriority: false, showTimestamps: true, }); ``` ### 2. Log Types #### Log ```ts logger.log("This is a log message", { priority: 1, showTimestamps: false }); ``` #### Warn ```ts logger.warn("This is a warning", { priority: 2 }); ``` #### Error ```ts logger.error("This is an error", { priority: 3 }); ``` #### Success ```ts logger.success("Data saved successfully", "πŸŽ‰", { priority: 1 }); ``` #### Failure ```ts logger.failure("Operation failed", "πŸ’₯", { priority: 1 }); ``` ### 3. Flush the Console Queue ```ts logger.flush(); ``` --- ## βš™οΈ Configuration Options ### `Console` constructor options | Option | Type | Required | Default | Description | | ----------------------- | --------------------- | -------- | ------- | ----------------------------------------- | | `maximumConsoleAllowed` | number | βœ… | β€” | Max messages allowed before stopping logs | | `isConsoleDisable` | boolean | ❌ | false | Globally disable logging | | `timeFormat` | `"ISO"` \| `"LOCALE"` | βœ… | β€” | Format of timestamps | | `reversePriority` | boolean | ❌ | false | Show low priority messages first | ### Logging Options Each log method (`log`, `warn`, `error`, `success`, `failure`) accepts: ```ts { priority?: number; // Optional priority level (default: 1) showTimestamps?: boolean; // Whether to show timestamp (default: false) } ``` --- ## πŸ“¦ Example Output ```bash βœ… 2025-04-14T12:00:00.000Z: Data saved successfully ❌ 2025-04-14T12:01:00.000Z: Operation failed 2025-04-14T12:02:00.000Z: This is a log message ``` --- ## πŸ™Œ Contribution Pull requests and feature suggestions are welcome! --- ## πŸ“ License MIT License --- Built with ❀️ to clean up your console mess!