From 54aa382f8b07d4d843468f61d6a3d05fe9097854 Mon Sep 17 00:00:00 2001 From: KokaKiwi Date: Fri, 13 May 2022 17:52:30 +0200 Subject: [PATCH] refactor: Add more debugging facilities into examples --- Cargo.toml | 1 + examples/simple.rs | 33 ++++++++++++++++++++++++++++----- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 9eefd0c..5416980 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,3 +23,4 @@ tower = { version = "0.4", features = ["full"] } [dev-dependencies] eyre = "0.6" tracing-subscriber = "0.3" +console-subscriber = "0.1" diff --git a/examples/simple.rs b/examples/simple.rs index 2b2f500..12e0bc0 100644 --- a/examples/simple.rs +++ b/examples/simple.rs @@ -14,15 +14,18 @@ async fn handle_req(req: Request) -> eyre::Result { #[tokio::main] async fn main() -> eyre::Result<()> { - tracing_subscriber::fmt() - .with_max_level(tracing::Level::TRACE) - .init(); + setup_logging(); let incoming = AddrIncoming::new("127.0.0.1:4567").await?; let make_service = tower::service_fn(|addr: &AddrStream| { - tracing::debug!("Accept: {} -> {}", addr.remote_addr, addr.local_addr); - futures::future::ok::<_, std::convert::Infallible>(tower::service_fn(handle_req)) + tracing::debug!(remote_addr = %addr.remote_addr, local_addr = %addr.local_addr, "accept"); + + let service = tower::ServiceBuilder::new() + .buffer(16) + .service_fn(handle_req); + + futures::future::ok::<_, std::convert::Infallible>(service) }); let server = Server::new(incoming).serve(make_service); @@ -30,3 +33,23 @@ async fn main() -> eyre::Result<()> { Ok(()) } + +// Don't mind this, this is just for debugging. +fn setup_logging() { + use tracing_subscriber::prelude::*; + + tracing_subscriber::registry() + .with(console_subscriber::spawn()) + .with( + tracing_subscriber::fmt::layer().with_filter( + tracing_subscriber::filter::Targets::new() + .with_default(tracing::Level::DEBUG) + .with_target("boitalettres", tracing::Level::TRACE) + .with_target("simple", tracing::Level::TRACE) + .with_target("tower", tracing::Level::TRACE) + .with_target("tokio_tower", tracing::Level::TRACE) + .with_target("mio", tracing::Level::TRACE), + ), + ) + .init(); +}