llm_edge_proxy/server/
tracing.rs1use anyhow::Result;
4use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt, EnvFilter};
5
6pub fn init_tracing() -> Result<()> {
8 let env_filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info"));
9
10 let formatting_layer = tracing_subscriber::fmt::layer()
12 .json()
13 .with_target(true)
14 .with_thread_ids(true)
15 .with_line_number(true);
16
17 tracing_subscriber::registry()
18 .with(env_filter)
19 .with(formatting_layer)
20 .init();
21
22 tracing::info!("Tracing initialized successfully");
23 Ok(())
24}
25
26#[macro_export]
28macro_rules! trace_request {
29 ($name:expr, $($field:tt)*) => {
30 tracing::info_span!($name, $($field)*)
31 };
32}