https://github.com/pannh/beautify-logs
Elegant logs for your elegant apps with many available formats and Markdown formatting.
https://github.com/pannh/beautify-logs
beautiful colored colorful colors library logs module npm package pnpm pretty yarn
Last synced: 4 months ago
JSON representation
Elegant logs for your elegant apps with many available formats and Markdown formatting.
- Host: GitHub
- URL: https://github.com/pannh/beautify-logs
- Owner: PannH
- License: mit
- Created: 2023-05-10T14:54:31.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-11T17:55:04.000Z (about 2 years ago)
- Last Synced: 2024-03-15T06:46:29.908Z (over 1 year ago)
- Topics: beautiful, colored, colorful, colors, library, logs, module, npm, package, pnpm, pretty, yarn
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/beautify-logs
- Size: 8.79 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
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
```bash
npm install beautify-logs
```
#### yarn
```bash
yarn add beautify-logs
```
#### pnpm
```bash
pnpm add beautify-logs
```## 🖐️ Getting Started
#### Import the main class
```js
const { Logger } = require('beautify-logs');
```
#### Instantiate the imported class with your own options [(check their description further below)](#⚙️-logger-options)
```js
const logger = new Logger({ ... });
```
#### Start logging
```js
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.
```js
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)](#🦋-log-formats-preview). Default value is: 0
```js
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
```js
const logger = new Logger({
splitMessages: true
});logger.debug('Hello, World!', 'How is your day going?');
```
##### Result :

---
```js
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
```js
const logger = new Logger({
formatMessages: true
});logger.debug('Here is some **bold**, *italic*, __underline__, and https://example.com/');
```
##### Result :

---
```js
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
```js
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);
```
##### Result :
