use super::{ConfigStatus, Globals, GlobalsLogReady, GlobalsNew, NotReady};
use anyhow::Result as AResult;
use indicatif::{MultiProgress, ProgressBar};
use indicatif_log_bridge::LogWrapper;
use simple_logger::SimpleLogger;
impl GlobalsNew {
pub fn init_logger(self) -> AResult<GlobalsLogReady> {
let logger = SimpleLogger::new()
.with_level(self.cli.log_level)
.with_colors(true);
let multi = MultiProgress::new();
LogWrapper::new(multi.clone(), logger).try_init()?;
Ok(GlobalsLogReady {
cli: self.cli,
multi,
cfg: NotReady,
})
}
}
impl<T: ConfigStatus> Globals<MultiProgress, T> {
pub fn spinner(&self) -> ProgressBar {
self.multi.add(ProgressBar::new_spinner())
}
}