0.1.3 • Published 5 months ago

@webprintdx/logdx v0.1.3

Weekly downloads
-
License
MIT
Repository
-
Last release
5 months ago

LogDX

npm version

LogDX is a lightweight, styled logging utility that enhances your console logging experience. With LogDX you can easily differentiate log levels, group related logs, and even add custom prefixes to help trace logs back to specific parts of your application.

Features

  • Styled Log Levels: Automatically applies distinct styles to info, warn, error, and debug logs.
  • Custom Logger Instances: Create logger instances with a custom prefix to identify log origins.
  • Grouped Logging: Organize related logs into collapsible groups for easier debugging.
  • Simple API: Easy-to-use methods for immediate integration.

Installation

Install via npm:

npm install @webprintdx/logdx

Usage

LogDX supports two main usage patterns: using the default logger instance and creating custom instances with specific prefixes.

Using the Default Logger

For quick logging, use the default instance exported as ldx:

import { ldx } from '@webprintdx/logdx';

ldx.info('User logged in', { userId: 123 });
ldx.debug('Button clicked!');

Creating a Custom Logger Instance

For more granular logging, create a new Logger instance with a custom prefix:

import { Logger } from '@webprintdx/logdx';

const authLogger = new Logger('Auth');

authLogger.info('User authentication started');
authLogger.warn('Authentication token is nearing expiration');
authLogger.error('Authentication failed', { errorCode: 'INVALID_CREDENTIALS' });

// Grouping related logs for a more organized output
authLogger.group(() => {
  authLogger.info('Step 1: Validating credentials');
  authLogger.debug('Step 1 details...');
  authLogger.info('Step 2: Generating token');
}, 'Auth Process');

API Reference

Logger Class

Constructor

  • new Logger(prefix?: string)
    Creates a new logger instance.
    • prefix: An optional string to prefix all log messages (helps to indicate the context).

Methods

  • info(...args: any[]): void
    Logs an informational message.

  • debug(...args: any[]): void
    Logs a debug message.

  • warn(...args: any[]): void
    Logs a warning message.

  • error(...args: any[]): void
    Logs an error message.

  • group(logFunctions: () => void, name?: string): void
    Groups related logs under a styled console group.

    • logFunctions: A callback that contains the log statements to group together.
    • name: An optional group title (defaults to "GROUP LOG").

Default Exports

  • logger: A default instance of Logger (without a prefix).
  • ldx: An alias for logger, offering convenient access.

Contributing

Contributions, bug reports, and feature requests are welcome! Please fork the repository and submit a pull request for any improvements.

License

This project is licensed under the MIT License.

0.1.3

5 months ago

0.1.2

5 months ago

0.1.1

5 months ago

0.1.0

5 months ago