loglevel-colored-level-prefix
loglevel plugin that adds colored level prefix (node only)!Build Statusbuild-badgebuild !Code Coveragecoverage-badgecoverage !Dependenciesdependencyci-badgedependencyci !versionversion-badgepackage !downloadsdownloads-badgenpm-stat !MIT Licenselicense-badgeLICENSE
!Watch on GitHubgithub-watch-badgegithub-watch !Star on GitHubgithub-star-badgegithub-star !Tweettwitter-badgetwitter
The problem
loglevel
loglevel is great, and I find that I often want the log output to
be formatted the same way every time. Also I don't really like some of the
implementation of loglevel
(specifically the fact that it uses some browser
APIs for some things.This solution
This exposes a function to get a logger (singleton) with colored prefixes for the level. Note that this only works in Node because it useschalk
chalk.Installation
This module is distributed via npmnpm which is bundled with nodenode and should be installed as one of your project'sdependencies
:npm install --save loglevel-colored-level-prefix
Usage
const getLogger = require('loglevel-colored-level-prefix')
const options = {prefix: 'your-prefix', level: 'trace'}
const logger = getLogger(options)
logger.trace('WOW! What the stack trace!?')
// Trace: your-prefix [TRACE]: WOW! What the stack trace!?
// at Logger.trace (<full-path>/node_modules/loglevel-colored-level-prefix/dist/index.js:54:24)
// at ... etc
logger.debug('sup debug?')
// your-prefix [DEBUG]: sup debug?
logger.info('Hey info')
// your-prefix [INFO]: Hey info
logger.warn('Hi warn')
// your-prefix [WARN]: Hi warn
logger.error('Hello error')
// your-prefix [ERROR]: Hello error
Let's look at what that actually looks like...
!screenshotscreenshot
options
prefix
?String - Whatever you want your prefix to be. Normally this is the tool that you're logging for. ThegetLogger
function will return the same instance
of the logger based on the given prefix.level
?String - What you want the initial level to be set to. This defaults to:process.env.LOG_LEVEL || 'warn'
. Possible options are (in order of verbosity):
trace
, debug
, info
, warn
, error
.returns
An instance of aloglevel
logger. Learn more about that API from the
loglevel
docsloglevel.Inspiration
I wrote this because I wanted to use the plugin I created forprettier-eslint
prettier-eslint in
prettier-eslint-cli
prettier-eslint-cli. And I'll probably use it in other
projects/tools as well.Other Solutions
I'm unaware of other plugins forloglevel
that do what this one does. But
there are many logging solutions out there...Contributors
Thanks goes to these people (emoji keyemojis):|
Kent C. Dodds
💻 📖 🚇 ⚠️ | | :---: |
This project follows the all-contributorsall-contributors specification. Contributions of any kind welcome!