JSPM

consolebridge

1.0.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q39199F
  • License MIT

Enhanced console logging with remote capabilities

Package Exports

  • consolebridge
  • consolebridge/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (consolebridge) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

ConsoleBridge

Enhanced console logging with colorization and remote capabilities for Node.js applications.

Features

  • 🎨 Colorized Console Output: Improve readability with color-coded log levels
  • 🌐 Remote Logging: Send selected logs to a remote server endpoint
  • 🔄 Preserve Original Console: Easily restore original console behavior
  • 🛠️ Configurable: Customize behavior with simple options
  • 📝 Custom Log Method: Special console.text() method for remote logging

Installation

npm install ConsoleBridge

Quick Start

const { createConsoleBridge } = require('ConsoleBridge');

// Initialize with default options
const ConsoleBridge = createConsoleBridge();

// Use enhanced console methods
console.log('Regular log message');
console.info('Info message in blue');
console.warn('Warning message in yellow');
console.error('Error message in red');
console.debug('Debug message in green');

// Use custom text method (for remote logging)
console.text('This can be sent to a remote server if configured');

// When done, restore original console behavior
ConsoleBridge.restore();

Configuration

const { createConsoleBridge } = require('ConsoleBridge');

const ConsoleBridge = createConsoleBridge({
  // Remote logging endpoint (optional)
  endpoint: 'https://your-logging-api.com/logs',
  
  // API key for authentication (optional)
  apiKey: 'your-api-key',
  
  // Enable/disable colorization (default: true)
  colorize: true,
  
  // Enable/disable console output (default: false)
  silent: false
});

Using with React

Basic Setup

// src/logger.js
import { createConsoleBridge } from 'ConsoleBridge';

export const logger = createConsoleBridge({
  endpoint: process.env.REACT_APP_LOGGING_ENDPOINT,
  apiKey: process.env.REACT_APP_LOGGING_API_KEY
});
// src/index.js or App.js
import { logger } from './logger';

// Initialize logger early in your app
logger.init();

// Use in your components
function App() {
  useEffect(() => {
    console.info('App mounted');
    console.text('This will be sent to the server');
    
    // Cleanup on unmount
    return () => logger.restore();
  }, []);

  return <div>Your App</div>;
}

Custom Hook

// src/hooks/useLogger.js
import { useEffect } from 'react';
import { createConsoleBridge } from 'ConsoleBridge';

export function useLogger(config = {}) {
  useEffect(() => {
    const logger = createConsoleBridge(config);
    logger.init();
    
    return () => logger.restore();
  }, []);
}

// Usage in component
function MyComponent() {
  useLogger({
    endpoint: 'https://api.example.com/logs',
    colorize: true
  });

  return <div>Component with logging</div>;
}

Remote Logging

Only the console.text() method sends logs to the remote server. Other console methods are enhanced but only output locally.

// Configure with remote endpoint
const ConsoleBridge = createConsoleBridge({
  endpoint: 'https://your-logging-api.com/logs',
  apiKey: 'your-api-key'
});

// This will be sent to the remote server
console.text('Important information to log remotely');

// These will only appear in the local console
console.log('Local log message');
console.info('Local info message');

Advanced Usage

Manual Initialization

const { ConsoleBridge } = require('ConsoleBridge');

// Create instance without auto-initialization
const logger = new ConsoleBridge({
  colorize: true,
  endpoint: 'https://your-logging-api.com/logs'
});

// Initialize when ready
logger.init();

// Use enhanced console
console.log('Console is now enhanced');

// Restore when done
logger.restore();

API Reference

createConsoleBridge(config)

Creates and initializes a new ConsoleBridge instance.

  • config (Object): Configuration options
    • endpoint (String): URL for remote logging
    • apiKey (String): Authentication key for remote endpoint
    • colorize (Boolean): Whether to colorize console output (default: true)
    • silent (Boolean): Whether to suppress console output (default: false)

Returns an initialized ConsoleBridge instance.

ConsoleBridge

Class that provides console enhancement functionality.

Methods

  • init(): Overrides console methods with enhanced versions
  • restore(): Restores original console behavior

Examples

See the examples directory for more usage examples.

License

MIT