1use tracing_subscriber::{filter::EnvFilter, layer::SubscriberExt, util::SubscriberInitExt};
2
3pub fn setup_tracing() {
4 let env_filter = EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info"));
6
7 if std::env::var("IS_SYSTEMD_SERVICE").is_ok() {
9 let journald_layer = tracing_journald::layer().expect("Failed to create journald layer");
11 tracing_subscriber::registry()
12 .with(journald_layer)
13 .with(env_filter)
14 .init();
15 } else {
16 tracing_subscriber::fmt()
18 .with_ansi(true)
19 .with_target(true)
20 .with_env_filter(env_filter)
21 .init();
22 }
23}