Introduction to Minimist Logger
Minimist Logger is a versatile and efficient library for handling command line logging with ease. It’s built on top of the popular Minimist library, enabling you to parse command line arguments and generate structured logs.
Getting Started
First, you’ll need to install the minimist-logger via npm:
npm install minimist-logger
Basic Usage
Here’s a simple example of how to use Minimist Logger:
const logger = require('minimist-logger'); const args = logger.parse(process.argv.slice(2)); logger.log('info', 'This is an info message'); logger.log('error', 'This is an error message'); logger.log('debug', 'This is a debug message', { debug: true });
Advanced APIs
Custom Log Levels
logger.addLevel('verbose', { color: 'cyan' }); logger.log('verbose', 'This is a verbose message');
Timestamp Formatting
logger.formatTimestamp = () => new Date().toISOString(); logger.log('info', 'This message has a custom timestamp format');
Environment-Specific Logging
const envLogger = logger.create({ env: process.env.NODE_ENV || 'development' }); envLogger.log('info', 'This will log based on the current environment');
App Example
Below is an application example that utilizes Minimist Logger to its full potential:
// app.js const logger = require('minimist-logger'); const args = logger.parse(process.argv.slice(2)); if (args.help) { logger.log('info', 'Usage: node app.js [options]'); process.exit(0); } logger.addLevel('critical', { color: 'red', bgColor: 'black' }); logger.log('critical', 'This is a critical log entry'); logger.formatTimestamp = () => new Date().toLocaleString(); logger.log('info', 'App started at ' + logger.formatTimestamp()); // Environment-specific logging const envLogger = logger.create({ env: process.env.NODE_ENV || 'production' }); envLogger.log('debug', 'Debugging information', { debug: true }); // Script continues... process.on('SIGINT', () => { logger.log('info', 'Received SIGINT, shutting down...'); process.exit(0); });
With these examples, you should be able to integrate minimist-logger into your applications effectively. The library’s flexibility and extensive API make it a valuable tool for all your logging needs.
HasHash: fe030be8411827a12e6db1f0d9a0fdf547875be680337e624a071ea0db90a219