golc
v1.1.0
Published
Colorful logging utility with log levels
Downloads
37
Readme
This is golc
🌈📝
(Since clog
was taken)
A colorful logging utility for NodeJS programs.
Installation 📦
npm i --save golc
It is Production Ready️™ as in: I am using it in production
Features 🍕
6 log levels + disabling
customizable color schemes (via
chalk
API)optional log badges (with label and kind)
Usage 🚀
Import it
const Golc = require('golc')
Make it
const L = new Golc('MyLogger')
... Use it!
function doTheJob() {
try {
job()
} catch (e) {
L.error(e)
}
L.info('Job done! 👍')
}
Make more!
const BLog = new Golc('BeautifulLogger', {...})
const SLog = new Golc('ShyLogger', {...})
Suppressing logs
By default log levels are set basing on the environment you're running in.
production
sets logs to INFO
level, others will have all the logs enabled.
You can suppress logs of a certain level just by setting the level
on your logger.
L.level = L.ERROR
Possible values are: NONE
, ERROR
, WARN
, INFO
, LOG
, DEBUG
, TRACE
.
They go in order, so if you set L.level = L.LOG
, you will get: ERROR
, WARN
, INFO
and LOG
.
Beware !!!
If you're logging costly operations, wrap your logic in conditions like so:
if (L.level >= L.INFO) {
L.info(costlyOperation())
}
Customization 🎛
The constructor accepts a label, which will be used to tag your logs, and an options object:
const L = new Golc('Logger', options)
Where possible options are:
{
withLabel: true, // Label of the logger in the badge (It's name)
withKind: false, // Kind of log in the badge (Error, Warn, ...)
withNewline: false, // Put a newline between the badge and the message
styles: {
error: {
badge: ['bgRed', 'bold'], // Badge styles
message: ['red', 'bgYellow'] // Message styles
},
warn: {...},
info: {...},
log: {...},
debug: {...},
trace: {...}
}
}
A style object it's really just an array containing the chalk
options that you want to combine, as strings.
You can check how that works right here! 🔍👀