2.0.1 • Published 5 months ago

@abxvn/logger v2.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

@abxvn/logger

build version downloads

An utility logger for CLI and web, to be reused in our projects

Table of contents

Features:

  • Collapsible:
    • Designed to work as a log stream
    • Stream writer can be piped and collapsed (replace previous lines with new data)
    • Add watcher to collapse other streams (supports process.stdout and process.stderr too)
    • Handle ANSI escape codes
  • Styled Loggers:
    • Some helper methods for styled loggers
    • Support both browser and CLI color logging

Examples

Collapsible console logs

import { collapse } from '@abxvn/logger/cli'

// These 2 lines are writen into stdout
collapse.write(`A`)
collapse.write(`B`)

// Previous 2 lines will be removed
collapse.collapse()

Collapsible streams

import { collapsible } from '@abxvn/logger/cli'

collapsible(process.stdout)
collapsible(process.stderr)
collapsible(<anyWritableStream>)

Manipulate other streams

import { collapsible } from '@abxvn/logger/cli'

// All data writen into stdout will be collected
// And can be collapse / hidden later
const stream = collapsible(process.stdout, true)

stream.collapse()

Styled loggers

For browser:

import { styles, logInfo } from '@abxvn/logger'

console.log(color, badge, bold, underline)

color('text', 'blue')
badge('text', 'red', 'white') // white text badge with red background

bold('bold-text')
logInfo(underline('underlined-text'))

For CLI:

import { styles, logInfo } from '@abxvn/logger/cli'

console.log(color, badge, bold, underline)

color('text', 'blue')
badge('text', 'red', 'white') // white text badge with red background

bold('bold-text')
logInfo(underline('underlined-text'))

Changelog

See CHANGELOG.md

Contribution

All PRs and ideas for improvement are welcomed.

If you got any issues using this package, don't hesitate to create new 🐞 Bug report with a proper package:<name> label.

Feel free to clone this project, make changes that your feel necessary and pull request anytime you want.

Install dependencies and run development build:

pnpm install
pnpm start

Working on your first Pull Request?

You can learn how from this free video series: How to Contribute to an Open Source Project on GitHub

To help you get your feet wet and get you familiar with our contribution process, we have a list of good first issues that contain bugs that have a relatively limited scope. This is a great place to get started.


Cheers 🍻