Skip to content

Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.

License

Notifications You must be signed in to change notification settings

kj800x/log-update

 
 

Repository files navigation

log-update Build Status

Log by overwriting the previous output in the terminal.
Useful for rendering progress bars, animations, etc.

Install

$ npm install log-update

Usage

const logUpdate = require('log-update');

const frames = ['-', '\\', '|', '/'];
let i = 0;

setInterval(() => {
	const frame = frames[i = ++i % frames.length];

	logUpdate(
`
        ♥♥
   ${frame} unicorns ${frame}
        ♥♥
`
	);
}, 80);

API

logUpdate(text…)

Log to stdout.

logUpdate.clear()

Clear the logged output.

logUpdate.done()

Persist the logged output.
Useful if you want to start a new log session below the current one.

logUpdate.stderr(text…)

Log to stderr.

logUpdate.stderr.clear()

logUpdate.stderr.done()

logUpdate.create(stream, options?)

Get a logUpdate method that logs to the specified stream.

options

Type: Object

showCursor

Type: boolean
Default: false

Show the cursor. This can be useful when a CLI accepts input from a user.

const logUpdate = require('log-update');

// Write output but don't hide the cursor
const log = logUpdate.create(process.stdout, {
	showCursor: true
});

Examples

  • listr - Uses this module to render an interactive task list
  • ora - Uses this module to render awesome spinners
  • speed-test - Uses this module to render a spinner

Get professional support for this package with a Tidelift subscription
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.

About

Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • JavaScript 93.5%
  • TypeScript 6.5%