Light wrapper for console

Downloads in past


200.3.113 months ago2 years agoMinified + gzip package size for consolite in KB



  • It's tiny - 371 bytes gzip + minify.
  • It preserves line numbers - so you can find exactly where your code was logged.
  • Prefixing - provide context for your logs by adding a prefix.
  • Nesting - sometimes you need to add extra context. This can be handled by creating a child logger
  • Log levels - log levels can be customized and are inherited by child instances
  • Native console methods - consolite wraps around console so any method available on console will be available on consolite.


npm install consolite

Basic Usage

import { createLogger } from 'consolite'

const log = createLog()

log.log('hello world') // prints "hello world"


Using prefix

const log = createLog('[my-prefix]')

log.log('hello world') // prints "[my-prefix] hello world"

Using a function prefix

const log = createLog(method => `${method} ->`)
log.debug('hello world') // prints "debug -> hello world"

Child logger

Child loggers inherit prefixes, levels and level from their parents.
const log = createLog('[parent]')
const childLog = log.createChild('[child]')

log.log('hello world') // prints "[parent] [child] hello world"

Changing log level

const log = createLog()

log.debug('hello world') // does nothing
log.level = 4 // 3 by default
log.debug('hello world') // prints "hello world"

Changing default levels

const log = createLog()

log.debug('hello world') // does nothing
log.levels.debug = 3 // set debug to match current logging level
log.debug('hello world') // prints "hello world"

Adding custom method

const log = createLog()
log.register('silly', console.log)
log.levels.silly = 8
log.silly('hello world')

Filtering messages

const log = createLog()
log.filter = (prefixes, method) => method !== 'debug' || process.env.DEBUG