A logger that is clearable
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
source
.editorconfig
.eslintrc.js
.gitignore
.npmignore
.travis.yml
CONTRIBUTING.md
HISTORY.md
LICENSE.md
README.md
example.js
index.js
package-lock.json
package.json
test.js

README.md

logger-clearable

Travis CI Build Status NPM version NPM downloads Dependency Status Dev Dependency Status
Patreon donate button Open Collective donate button Flattr donate button PayPal donate button Bitcoin donate button Wishlist browse button

A logger that is clearable

Install

NPM

  • Install: npm install --save logger-clearable
  • Module: require('logger-clearable')

Editions

This package is published with the following editions:

  • logger-clearable aliases logger-clearable/index.js which uses Editions to automatically select the correct edition for the consumers environment
  • logger-clearable/source/index.js is Source + ESNext + Require
  • logger-clearable/es2015/index.js is Babel Compiled + ES2015 + Require

Older environments may need Babel's Polyfill or something similar.

Usage

API Documentation.

'use strict'

// create our clearable logger
const logger = require('logger-clearable').create()
const method = 'log'

// log the date every second
const timer = setInterval(function () {
	if (method === 'log') {
		const date = new Date()
		const time = date.toISOString()
		logger.log(time)
	}
	else {
		// the above will actually call: logger.queue(() => time)
		// instead, we can use queue directly:
		// using queue direclty is more performant as
		// any setup for our particular message will happen only if that message will be written
		// this is applicable as logger won't bother writing messages that would be cleared instantly
		// e.g. logger.log('hello').log('world') would otherwise write 'hello' then have to clear it right away
		// instead, logger just skips writing 'hello' and will just write 'world'
		logger.queue(function () {
			const date = new Date()
			const time = date.toISOString()
			return time
		})
	}
}, 100)

// on ctrl+c close the timer and discard any upcoming logs
process.on('SIGINT', () => {
	// stop any more calls to logger
	clearInterval(timer)
	// discard any logger queued updated
	logger.discard()
	// and clear the log
	logger.clear()
})

History

Discover the release history by heading on over to the HISTORY.md file.

Contribute

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

Backers

Maintainers

No maintainers yet! Will you be the first?

Sponsors

No sponsors yet! Will you be the first?

Patreon donate button Open Collective donate button Flattr donate button PayPal donate button Bitcoin donate button Wishlist browse button

Contributors

These amazing people have contributed code to this project:

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

License

Unless stated otherwise all works are:

  • Copyright © 2018+ Benjamin Lupton

and licensed under: