diff --git a/Cargo.lock b/Cargo.lock index 8588d86..bf9247a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1911,6 +1911,7 @@ dependencies = [ "once_cell", "reqwest 0.11.23", "sentry", + "sentry-tracing", "serde", "serde_json", "teloxide", diff --git a/Cargo.toml b/Cargo.toml index 576061e..598d6bf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,9 +13,10 @@ axum_typed_multipart = "0.11.1" tracing = "0.1.40" tracing-subscriber = { version = "0.3.18", features = ["env-filter"]} tower-http = { version = "0.5.2", features = ["trace"] } +sentry-tracing = "0.32.3" tokio = "1.37.0" -tokio-util = { version = "0.7.11", features = [ "full" ] } +tokio-util = { version = "0.7.11", features = [ "full" ] } axum-prometheus = "0.6.1" futures = "0.3.30" diff --git a/src/main.rs b/src/main.rs index 17eb6c1..4b45273 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,6 +3,8 @@ mod core; use std::{net::SocketAddr, str::FromStr}; use sentry::{integrations::debug_images::DebugImagesIntegration, types::Dsn, ClientOptions}; +use sentry_tracing::EventFilter; +use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; use crate::core::views::get_router; @@ -20,9 +22,14 @@ async fn main() { let _guard = sentry::init(options); - tracing_subscriber::fmt() - .with_target(false) - .compact() + let sentry_layer = sentry_tracing::layer().event_filter(|md| match md.level() { + &tracing::Level::ERROR => EventFilter::Event, + _ => EventFilter::Ignore, + }); + + tracing_subscriber::registry() + .with(tracing_subscriber::fmt::layer()) + .with(sentry_layer) .init(); let addr = SocketAddr::from(([0, 0, 0, 0], 8080));