use anyhow::Result;
use rerun::RecordingStreamBuilder;
use tracing_subscriber::{filter::LevelFilter, Registry};
use tracing_rerun::RerunLayer;
use tracing_subscriber::prelude::*;
fn main() -> Result<()> {
let rec = RecordingStreamBuilder::new("my_app").serve_grpc()?;
let rerun_layer = RerunLayer {
rec: rec.clone(),
path: "logs/tracing".into(),
};
let subscriber = Registry::default()
.with(LevelFilter::INFO) .with(tracing_subscriber::fmt::Layer::default()) .with(rerun_layer);
tracing::subscriber::set_global_default(subscriber).expect("setting global default failed");
loop {
tracing::error!(user_id = 42, "hello from tracing — goes to stdout and Rerun");
tracing::info!(target: "db", op = "select", rows = 3, "query finished");
tracing::warn!(target: "auth", "token expired");
std::thread::sleep(std::time::Duration::from_millis(5000));
}
}