@webprintdx/logdx v0.1.3
LogDX
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 ofLogger
(without a prefix).ldx
: An alias forlogger
, 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.