beautify-logs
v1.0.1
Published
Elegant logs for your elegant apps with many available formats and Markdown formatting.
Downloads
7
Maintainers
Readme
✨ Beautify Logs
This library provides to your app a set of pretty and colorful log formats with different importance levels (debug, info, warn, error, and fatal). It even gives you the opportunity to use markdown in your logs.
📥 Installation
npm
npm install beautify-logs
yarn
yarn add beautify-logs
pnpm
pnpm add beautify-logs
🖐️ Getting Started
Import the main class
const { Logger } = require('beautify-logs');
Instantiate the imported class with your own options (check their description further below)
const logger = new Logger({ ... });
Start logging
logger.debug('Lorem Ipsum dolor sit amet.');
logger.info('Lorem Ipsum dolor sit amet.');
logger.warn('Lorem Ipsum dolor sit amet.');
logger.error('Lorem Ipsum dolor sit amet.');
logger.fatal('Lorem Ipsum dolor sit amet.');
Bonus: how to use the Logger class instance in any of your app file
To do so, simply assign the logger property to the process
in your index file.
Object.assign(process, {
logger: logger
});
process.logger.debug('The logger is now usable from anywhere!');
⚙️ Logger options
You can personalize your logger by providing your own options.
1. The format
You can choose one of the many available formats (check further below). Default value is: 0
const logger = new Logger({
format: 3
});
logger.debug('This is the third format!');
Result :
2. The message splitting
You can provide as many messages as you want at once in a single log. This option allows you to wether split those or not. Default value is: false
const logger = new Logger({
splitMessages: true
});
logger.debug('Hello, World!', 'How is your day going?');
Result :
const logger = new Logger({
splitMessages: false
});
logger.debug('Hello, World!', 'How is your day going?');
Result :
3. The message formatting
You can choose to wether format the messages with some Markdown (bold, italic, underline, and URL coloring) or not. Default value is: true
const logger = new Logger({
formatMessages: true
});
logger.debug('Here is some **bold**, *italic*, __underline__, and https://example.com/');
Result :
const logger = new Logger({
formatMessages: false
});
logger.debug('Here is some **bold**, *italic*, __underline__, and https://example.com/');
Result :
🦋 Log Formats Preview
Format No. 0
Format No. 1
Format No. 2
Format No. 3
Format No. 4
Format No. 5
Format No. 6
Format No. 7
- Note: The colors may slightly vary according to your terminal colors.
- More formats will come soon!
🔎 Object Inspecting
If an object is given as a message instead of a string, the library will display its whole content using util.inspect(...)
method.
Example
const user = {
fullName: 'John Doe',
birthDate: new Date(1989, 8, 22),
hobbies: [
'programming',
'sport'
],
familyMembers: {
parents: {
mother: 'Coralie Clark',
father: 'William Doe'
}
}
};
logger.info('A user was created:', user);