Crates.io | indicatif-log-bridge |
lib.rs | indicatif-log-bridge |
version | 0.2.2 |
source | src |
created_at | 2023-07-31 15:39:23.609197 |
updated_at | 2023-08-31 15:54:46.458647 |
description | Bridge the log crate and indicatif to stop log lines from mixing up with progress bars |
homepage | |
repository | https://github.com/djugei/indicatif-log-bridge |
max_upload_size | |
id | 930987 |
size | 6,164 |
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.
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.