Skip to main content

init_observability

Function init_observability 

Source
pub fn init_observability(
    config: &ObservabilityConfig,
) -> Result<ObservabilityGuards>
Expand description

Initialize all observability components

This is the recommended way to set up observability. It initializes:

  • Logging (always)
  • Metrics (always)
  • Tracing (if enabled in config)

Returns guards that must be held for the lifetime of the application.

§Example

use zlayer_observability::{init_observability, ObservabilityConfig};

#[tokio::main]
async fn main() {
    let config = ObservabilityConfig::default();
    let _guards = init_observability(&config).expect("Failed to init observability");

    tracing::info!("Application started");
    // guards are dropped when main exits, flushing logs and traces
}

§Errors

Returns an error if any observability component fails to initialize.