pub use legume_numeric::matrix::progress::{new_progress_bar, new_spinner, MULTI_PROGRESS};
pub fn init_logger(verbose: bool) {
init_logger_with(if verbose {
legume_numeric::matrix::common_io::VERBOSE_LOG_FILTER
} else {
legume_numeric::matrix::common_io::QUIET_LOG_FILTER
});
}
#[doc(hidden)]
pub fn init_logger_with(default_filter: &str) {
let logger =
env_logger::Builder::from_env(env_logger::Env::default().default_filter_or(default_filter))
.build();
let max_level = logger.filter();
let wrapped = indicatif_log_bridge::LogWrapper::new(MULTI_PROGRESS.clone(), logger);
#[cfg(feature = "tui")]
let installed = log::set_logger(legume_tui::logs::gate(wrapped));
#[cfg(not(feature = "tui"))]
let installed = log::set_boxed_logger(Box::new(wrapped));
let _ = installed.map(|()| log::set_max_level(max_level));
}