4.8.0 • Published 4 months ago

logger-clearable v4.8.0

Weekly downloads
469
License
Artistic-2.0
Repository
github
Last release
4 months ago

logger-clearable

A logger that is clearable

Usage

Complete 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()
})

Install

npm

  • Install: npm install --save logger-clearable
  • Import: import * as pkg from ('logger-clearable')
  • Require: const pkg = require('logger-clearable')

Editions

This package is published with the following editions:

  • logger-clearable aliases logger-clearable/index.cjs which uses the Editions Autoloader to automatically select the correct edition for the consumer's environment
  • logger-clearable/source/index.js is ESNext source code for Node.js 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modules
  • logger-clearable/edition-node-4/index.js is ESNext compiled for Node.js 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with Require for modules

TypeScript

This project provides its type information via inline JSDoc Comments. To make use of this in TypeScript, set your maxNodeModuleJsDepth compiler option to 5 or thereabouts. You can accomplish this via your tsconfig.json file like so:

{
  "compilerOptions": {
    "maxNodeModuleJsDepth": 5
  }
}

History

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

Backers

Code

Discover how to contribute via the CONTRIBUTING.md file.

Authors

Maintainers

Contributors

Finances

Sponsors

  • Andrew Nesbitt — Software engineer and researcher
  • Balsa — We're Balsa, and we're building tools for builders.
  • Codecov — Empower developers with tools to improve code quality and testing.
  • Poonacha Medappa
  • Rob Morris
  • Sentry — Real-time crash reporting for your web apps, mobile apps, and games.
  • Syntax — Syntax Podcast

Donors

License

Unless stated otherwise all works are:

and licensed under:

4.8.0

4 months ago

4.6.0

4 months ago

4.7.0

4 months ago

4.4.0

5 months ago

4.0.0

6 months ago

4.2.0

6 months ago

4.5.0

5 months ago

4.1.0

6 months ago

4.3.0

6 months ago

3.18.0

6 months ago

3.17.0

3 years ago

3.16.0

3 years ago

3.15.0

3 years ago

3.14.0

4 years ago

3.13.0

4 years ago

3.12.0

4 years ago

3.11.0

4 years ago

3.10.0

4 years ago

3.9.0

4 years ago

3.8.0

4 years ago

3.7.0

4 years ago

3.6.0

4 years ago

3.4.0

4 years ago

3.5.0

4 years ago

3.3.0

4 years ago

3.2.0

4 years ago

3.1.0

4 years ago

3.0.0

4 years ago

2.3.0

4 years ago

2.2.0

4 years ago

2.1.0

4 years ago

2.0.0

4 years ago

1.1.0

4 years ago

1.0.1

5 years ago

1.0.0

6 years ago