indicatif-log-bridge

Crates.ioindicatif-log-bridge
lib.rsindicatif-log-bridge
version0.2.2
sourcesrc
created_at2023-07-31 15:39:23.609197
updated_at2023-08-31 15:54:46.458647
descriptionBridge the log crate and indicatif to stop log lines from mixing up with progress bars
homepage
repositoryhttps://github.com/djugei/indicatif-log-bridge
max_upload_size
id930987
size6,164
(djugei)

documentation

README

Indicatif Log Bridge

Tired of your log lines and progress bars mixing up? indicatif_log_bridge to the rescue!

Simply wrap your favourite logging implementation in LogWrapper and those worries are a thing of the past.

Just remember to only use progress bars added to the MultiProgress you used , otherwise you are back to ghostly halves of progress bars everywhere.

Example

    let logger =
        env_logger::Builder::from_env(env_logger::Env::default().default_filter_or("info"))
            .build();
    let multi = MultiProgress::new();

    LogWrapper::new(multi.clone(), logger)
        .try_init()
        .unwrap();

    let pg = multi.add(ProgressBar::new(10));
    for i in (0..10) {
        std::thread::sleep(Duration::from_micros(100));
        info!("iteration {}", i);
        pg.inc(1);
    }
    pg.finish();
    multi.remove(&pg);

The code of this crate is pretty simple, so feel free to check it out.

Commit count: 5

cargo fmt