#log #output #animation #overwrite #refresh

log-update

Log by overwriting the previous output in the terminal

1 unstable release

Uses old Rust 2015

0.1.0 Nov 1, 2016

#9 in #refresh

Download history 6/week @ 2023-11-20 5/week @ 2023-11-27 2/week @ 2023-12-11 9/week @ 2023-12-18 3/week @ 2023-12-25 12/week @ 2024-01-08 8/week @ 2024-01-15 2/week @ 2024-02-05 15/week @ 2024-02-12 20/week @ 2024-02-19 35/week @ 2024-02-26 26/week @ 2024-03-04

96 downloads per month
Used in 3 crates

MIT license

5KB
76 lines

Log Update

Log by overwriting the previous output in the terminal.

Useful for rendering progress bars, animations, etc.

Usage

This example will count down from 3 and then display Lift off! 🚀.

extern crate log_update;

use log_update::LogUpdate;

use std::io::stdout;
use std::thread::sleep;
use std::time::Duration;

fn main() {
    // Construct the log updater
    let mut log_update = LogUpdate::new(stdout()).unwrap();

    for i in [3, 2, 1].iter() {
        // Update log to show message
        log_update.render(&format!("Lift off in {}...", i)).unwrap();

        // Sleep for one second
        sleep(Duration::from_secs(1));
    }

    // Print final message
    log_update.render("Lift off! 🚀").unwrap();
}

API

See documentation

Inspiration

Heavily inspired by @sindresorhus’ excellent log-update.

Dependencies

~9KB