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');
const ConsoleBridge = createConsoleBridge();
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');
console.text('This can be sent to a remote server if configured');
ConsoleBridge.restore();
Configuration
const { createConsoleBridge } = require('ConsoleBridge');
const ConsoleBridge = createConsoleBridge({
endpoint: 'https://your-logging-api.com/logs',
apiKey: 'your-api-key',
colorize: true,
silent: false
});
Using with React
Basic Setup
import { createConsoleBridge } from 'ConsoleBridge';
export const logger = createConsoleBridge({
endpoint: process.env.REACT_APP_LOGGING_ENDPOINT,
apiKey: process.env.REACT_APP_LOGGING_API_KEY
});
import { logger } from './logger';
logger.init();
function App() {
useEffect(() => {
console.info('App mounted');
console.text('This will be sent to the server');
return () => logger.restore();
}, []);
return <div>Your App</div>;
}
Custom Hook
import { useEffect } from 'react';
import { createConsoleBridge } from 'ConsoleBridge';
export function useLogger(config = {}) {
useEffect(() => {
const logger = createConsoleBridge(config);
logger.init();
return () => logger.restore();
}, []);
}
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.
const ConsoleBridge = createConsoleBridge({
endpoint: 'https://your-logging-api.com/logs',
apiKey: 'your-api-key'
});
console.text('Important information to log remotely');
console.log('Local log message');
console.info('Local info message');
Advanced Usage
Manual Initialization
const { ConsoleBridge } = require('ConsoleBridge');
const logger = new ConsoleBridge({
colorize: true,
endpoint: 'https://your-logging-api.com/logs'
});
logger.init();
console.log('Console is now enhanced');
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