]> Untitled Git - lemmy.git/blob - src/lib.rs
Add tracing (#1942)
[lemmy.git] / src / lib.rs
1 #![recursion_limit = "512"]
2 pub mod api_routes;
3 pub mod code_migrations;
4 pub mod scheduled_tasks;
5
6 use lemmy_utils::LemmyError;
7 use tracing::subscriber::set_global_default;
8 use tracing_error::ErrorLayer;
9 use tracing_log::LogTracer;
10 use tracing_subscriber::{fmt::format::FmtSpan, layer::SubscriberExt, EnvFilter, Registry};
11
12 pub fn init_tracing() -> Result<(), LemmyError> {
13   LogTracer::init()?;
14
15   let env_filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info"));
16   let format_layer = tracing_subscriber::fmt::layer()
17     .with_span_events(FmtSpan::NEW | FmtSpan::CLOSE)
18     .pretty();
19
20   let subscriber = Registry::default()
21     .with(env_filter)
22     .with(format_layer)
23     .with(ErrorLayer::default());
24
25   set_global_default(subscriber)?;
26
27   Ok(())
28 }