tag2upload_service_manager/
logging.rs
use crate::prelude::*;
pub use tracing_subscriber::filter::LevelFilter;
pub fn default_level_filter() -> LevelFilter { LevelFilter::INFO }
pub fn setup(config: &Config) -> Result<(), StartupError> {
use StartupError as SE;
#[cfg(test)]
match crate::test::t_logging_setup() {
Ok(()) => {},
Err(()) => return Ok(()),
}
let tracing = format!(
"tag2upload_service_manager={},info,{}",
config.log.level,
config.log.tracing,
);
let filter = tracing_subscriber::filter::EnvFilter::builder()
.parse(&tracing)
.with_context(|| format!(
"failed to parse tracing EnvFilter specification {tracing:?}"
))
.map_err(SE::Logging)?;
tracing_subscriber::FmtSubscriber::builder()
.with_env_filter(filter)
.try_init()
.map_err(|e| SE::Logging(
anyhow!("tracing subscriber already initialised? {e}")
))?;
Ok(())
}