sindresorhus / Log Update
Licence: mit
Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.
Stars: ✭ 850
Programming Languages
javascript
184084 projects - #8 most used programming language
log-update
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.
Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].