A lightweight, customizable logging package for console output with multiple timestamp formats and color-coded log levels.
You can install NyaLog via npm:
npm install @decaded/nyalog
First, require the package in your application:
const Logger = require('nyalog');
Then, initialize it in one of two ways:
Standard:
const logger = new Logger();
With a timestamp format:
const logger = new Logger({ timestampFormat: 'ISO' });
For supported timestamp formats, refer to the table below.
You can log messages of different types:
Log Type | Usage Example | Color |
---|---|---|
info |
logger.consoleLog('info', 'This is an informational message.'); |
Cyan |
warn |
logger.consoleLog('warn', 'This is a warning message.'); |
Yellow |
error |
logger.consoleLog('error', 'This is an error message.', 'Additional error details.'); |
Red |
ok |
logger.consoleLog('ok', 'Operation completed successfully!'); |
Green |
debug |
logger.consoleLog('debug', 'Debugging information here...'); |
Bold Magenta |
stop |
logger.consoleLog('stop', 'This is a stop message.'); |
Bold Red |
start |
logger.consoleLog('start', 'This is a start message.'); |
Bold Green |
In case of a spelling error in log type
, detailed path to the problem will be provided:
logger.consoleLog('eror', 'This is wrongly typed value.');
// 09-22-2024 08:10:18 || [ UNDEFINED LOG TYPE ] "eror"
// Location: at function <anonymous> (/home/decaded/Projects/NyaLog/example/index.js:17:8);
⚠ NOTE
: NyaLog automatically provides detailed error paths for undefined log types.
-
logType
(string): Specifies the type of log (e.g.,'info'
,'error'
, etc.). -
message
(string): The primary message to be logged. -
extraDetails
(string): An optional secondary argument specifically for the'error'
log type.
Name | Format |
---|---|
European | DD-MM-YYYY HH:mm:ss |
American | MM-DD-YYYY HH:mm:ss |
ISO | YYYY-MM-DD HH:mm:ss |
You can specify the desired format during initialization:
const logger = new Logger({ timestampFormat: 'ISO' });
⚠ NOTE
: This is case insensitive. European
is used by default when no value is provided.
Contributions are welcome! Please open an issue or submit a pull request on the GitHub repository.
This project is licensed under the MIT License. See the LICENSE file for details.
If you find this project helpful or fun to use, consider supporting me on Ko-fi! Your support helps me keep creating and improving.