Skip to main content

slave_framework/
logging.rs

1//! Structured logging via `tracing`.
2
3use tracing_subscriber::EnvFilter;
4
5use crate::{Error, Result};
6
7/// Installs a global `tracing` subscriber that writes to stdout.
8///
9/// The filter is read from `RUST_LOG` (for example `RUST_LOG=debug`) and
10/// defaults to `info`.
11pub fn init() -> Result<()> {
12    let filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info"));
13    tracing_subscriber::fmt()
14        .with_env_filter(filter)
15        .try_init()
16        .map_err(|err| Error::Logging(err.to_string()))
17}