@ratatoskrts/logger
v2.2.3
Published
Simple, pretty and powerful logger
Downloads
3
Readme
Logo Designed By Inna Hotsiuk
Simple, pretty and powerful logger written in TypeScript.
Overview and Features
Overview
A very simple and straight forward typescript logger library, with a consistent style and some super powers.
Used in all @ratatoskrts libraries, built to wrap around the native Node.JS console library and be node environment aware.
Features
- Supports all common logging levels and others
- Colored, formatted, environment aware logging of stdout/stderr
- Configurable as a single instance, or as a native console wrapper
Installation
# with npm
npm i @ratatoskrts/logger
# with yarn
yarn add @ratatoskrts/logger
# with pnpm
pnpm add @ratatoskrts/logger
Usage
Quick start example.
For running the bellow example please see the examples README file.
import { overwriteConsole, logger } from '@ratatoskrts/logger'
// Instantiate a logger object
const log = logger()
const data = {
a: 'l',
b: 'm',
c: [
{
d: 'n',
e: 'o',
f: 'p',
},
],
g: {
h: 'q',
i: 'r',
j: 's',
},
k: ['t', 'u', 'v', 'w', 'x', 'y', 'z'],
}
// Styling `stdout/stderr`
log.style(log.gradient.ratatoskr(`Hello, and thank you for checking this cool logger out!!!`))
// Wrapping and override of native `console`
overwriteConsole()
console.log('This is a log')
console.info('This is an informational log')
console.info('This is a success log', { isSuccess: true })
console.error('This is a error log')
console.warn('This is a warn log')
console.debug('This is a debug log', data)
console.debug('This is a verbose log', { isVerbose: true }, data)
console.trace(/* 'This is a trace log' */)
console.log(
'We can also read and print from "console"',
{ isPlain: true },
log.color.green(`As well as ${log.format.underline('format')}/colorize it`),
'And we can silence all stdout/stderr'
)
overwriteConsole(true /* Passing true will silence all stdout/stderr */)
console.log('The following will not be logged out')
Building from source
Building
Testing
Additional Information & FAQ
Contributing
Any and all contribution and/or involvement with this project, or any other Ratatoskr.ts
project, is highly welcomed and appreciated.
Please make sure to read the Contribution guidelines for this and any other
Ratatoskr.ts
project.
Documentation contributions
Please note that for all documentation contributions for this project as well, as all other Ratatoskr.ts
projects are done via the Docs repo, and all changes will be reflected back to each and every related project affected.
Please make sure to follow the documentation conventions
Please make sure to read the Docs README for further information.
Support
The following, Slack Workspace and Discord Server have been created in order to provide the Ratatoskr.ts
community the proper channels of communication, in-order to support each other and grow as a community.
Please make sure to read our support page along with our communities code of conduct.