Node CLI Logger

Logger is a dead-simple console logger for nodejs command-line applications.
Installation
> cd your-project
> npm install --save-dev @node-cli/logger
Usage
import { Logger } from "@node-cli/logger";
const log = new Logger();
log.info("this is an informational log");
log.warn("this is a warning log");
log.error("this is an error log");
API
Methods
Logger relies on console behind the scenes, and therefore supports the same string substitution capabilities and uses the following methods:
| debug | Outputs a message to the console with the log level debug | grey |
| log | For general output of logging information. | white |
| info | Informative logging of information. | blue |
| warn | Outputs a message to the console with the log level debug | yellow |
| error | Outputs an error message. | red |
Options
Disabling logging
You can disable logging with silent:
import { Logger } from "@node-cli/logger";
const log = new Logger();
log.info("this will be logged");
log.silent = process.env.NODE_ENV === "production";
log.info("but this will not");
log.silent = false;
log.info("this will be logged again!");
This option can also be passed to the constructor:
import { Logger } from "@node-cli/logger";
const log = new Logger({ silent: true });
log.info("this will not be logged");
log.silent = false;
log.info("this will be logged again!");
Disabling colors
You can disable colors with boring:
import { Logger } from "@node-cli/logger";
const log = new Logger();
log.info("this will be logged in the default [info] color");
log.boring = process.env.NODE_ENV === "test";
log.info("but this will not have any colors :/");
log.boring = false;
log.info("colors are back!");
This option can also be passed to the constructor:
import { Logger } from "@node-cli/logger";
const log = new Logger({ boring: true });
log.info("this will not be logged in color");
log.boring = false;
log.info("this will be logged again!");
Adding a prefix
You can add a prefix to the logs with prefix:
import { Logger } from "@node-cli/logger";
const log = new Logger();
log.info("this will be logged with no prefix");
log.prefix = "[INFO]";
log.info("this will have a prefix!");
The output of that last line would be:
> [INFO] this will have a prefix!
This option can also be passed to the constructor:
import { Logger } from "@node-cli/logger";
const log = new Logger({ prefix: "Log:" });
log.info("this will be logged with a prefix");
log.prefix = false;
log.info("this will be NOT be logged with a prefix");
Adding a local timestamp
You can add a timestamp to the logs with timestamp:
import { Logger } from "@node-cli/logger";
const log = new Logger();
log.info("this will be logged with no timestamp");
log.timestamp = true;
log.info("this will have a timestamp!");
The output of that last line would look like:
> [ Tue Feb 02 2021 8:32:58 PM ] this will have a timestamp!
This option can also be passed to the constructor:
import { Logger } from "@node-cli/logger";
const log = new Logger({ timestamp: true });
log.info("this will be logged with a timestamp");
log.timestamp = false;
log.info("this will be NOT be logged with a timestamp");
License
MIT © Arno Versini