the-good-console
v0.0.1
Published
it's just a good console.
Maintainers
Readme
Good Console
A developer-focused, framework-agnostic logging library for TypeScript. Zero dependencies. Production ready. Browser + Node.
Why?
Most loggers are bloated or Node-only. Good Console brings a premium developer experience with beautiful colors, smart filtering (spotlight, only), and zero configuration to both Browser and Node environments.
Installation
npm install the-good-consoleUsage
Basic Example (Node & Browser)
import { gc } from 'the-good-console';
gc.success('Server started on port 3000');
gc.info('User logged in', { id: 123 });
gc.warn('Rate limit approaching');
gc.error('Database connection failed', new Error('Timeout'));Spotlight Usage
Focus only on specific log types while debugging.
// Only show 'error' and 'warn' logs. Info/Debug/Log are suppressed.
gc.spotlight(['error', 'warn']);
gc.info('This will NOT appear');
gc.error('This WILL appear');
gc.clearSpotlight(); // ResetCustom Tags
Add your own tags to logs for specific filtering.
// Add tags by passing a string array as the first argument
gc.info(['auth'], 'User logged in');
gc.warn(['db', 'timeout'], 'Query took too long');
// Filter by your custom tags
gc.spotlight(['auth', 'db']);Enhanced Configuration
JSON Output
Switch to JSON mode for structured logging (e.g., CloudWatch, Datadog).
gc.json(true);
gc.info('Server started');
// Output: {"level":"info", "message":"Server started", "timestamp":17000000000, "file":"...", "line":"..."}Timestamps
Add human-readable timestamps to text output.
gc.timestamps(true);
gc.info('Hello');
// Output: [10:30:45 AM] [INFO] ::: HelloAutomatic JSON Parsing
Good Console automatically parses JSON strings for better readability.
const jsonStr = '{"user": "admin", "id": 1}';
gc.log(jsonStr);
// Output (Pretty printed):
// {
// "user": "admin",
// "id": 1
// }Only Usage
Debug a specific line of code without noise.
// Only logs that match this EXACT message string will print.
// Effectively mutes the entire application except this line.
gc.only('Critical checkpoint reached');
gc.log('Data processed'); // Suppressed
gc.log('Critical checkpoint reached'); // PrintedAPI Reference
Methods
gc.panic(error, ...args): Redgc.error(...args): Redgc.warn(...args): Yellowgc.success(...args): Greengc.info(...args): Bluegc.debug(...args): Graygc.log(...args): White/Neutral
Filters
gc.spotlight(tags[]): Filter by log type.gc.only(message): Exclusive filter by message content.gc.clearSpotlight()gc.clearOnly()
Platform Support
| Feature | Node.js | Browser | |---------|---------|---------| | Colors | ANSI | CSS %c | | Format | Text | Text | | Stack | Yes | Yes |
Framework Agnostic
Works with React, Vue, Svelte, Express, NestJS, etc. pure TypeScript library.
