Lightweight logger with console styling
npm install @webprintdx/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.
- 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.
Install via npm:
``bash`
npm install @webprintdx/logdx
LogDX supports two main usage patterns: using the default logger instance and creating custom instances with specific prefixes.
For quick logging, use the default instance exported as ldx:
`javascript
import { ldx } from '@webprintdx/logdx';
ldx.info('User logged in', { userId: 123 });
ldx.debug('Button clicked!');
`
For more granular logging, create a new Logger instance with a custom prefix:
`javascript
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');
`
#### 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").
- logger: A default instance of Logger (without a prefix).ldx
- : An alias for logger`, offering convenient access.
Contributions, bug reports, and feature requests are welcome! Please fork the repository and submit a pull request for any improvements.
This project is licensed under the MIT License.