diff --git a/Cargo.lock b/Cargo.lock index fb37a99be2bbdca418506e076dd8ef3621af03f6..6443e24e4ed51de6ef1a92315063d2c30754409c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1188,7 +1188,7 @@ dependencies = [ "tokio", "tokio-tungstenite", "tower", - "tower-http", + "tower-http 0.3.5", "tower-layer", "tower-service", ] @@ -1225,7 +1225,7 @@ dependencies = [ "serde_json", "tokio", "tower", - "tower-http", + "tower-http 0.3.5", "tower-layer", "tower-service", ] @@ -2121,6 +2121,7 @@ dependencies = [ "toml 0.8.10", "tonic", "tower", + "tower-http 0.4.4", "tracing", "tracing-log", "tracing-subscriber", @@ -10052,6 +10053,25 @@ dependencies = [ "tower-service", ] +[[package]] +name = "tower-http" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" +dependencies = [ + "bitflags 2.4.1", + "bytes 1.5.0", + "futures-core", + "futures-util", + "http 0.2.9", + "http-body", + "http-range-header", + "pin-project-lite 0.2.13", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "tower-layer" version = "0.3.2" diff --git a/Cargo.toml b/Cargo.toml index 03316999289ae5deb76c30c68937d571814daf1c..cc9756f212e67480d194e56c8f8b0781dbb213c8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -233,6 +233,7 @@ thiserror = "1.0.29" tiktoken-rs = "0.5.7" time = { version = "0.3", features = ["serde", "serde-well-known", "formatting"] } toml = "0.8" +tower-http = "0.4.4" tree-sitter = { version = "0.20", features = ["wasm"] } tree-sitter-astro = { git = "https://github.com/virchau13/tree-sitter-astro.git", rev = "e924787e12e8a03194f36a113290ac11d6dc10f3" } tree-sitter-bash = { git = "https://github.com/tree-sitter/tree-sitter-bash", rev = "7331995b19b8f8aba2d5e26deb51d2195c18bc94" } diff --git a/Procfile b/Procfile index 288842ebd3ca3de169f36ec67a5c09f425bfbb42..840f10e047f059bfe6386e5178c55f6f410aca6f 100644 --- a/Procfile +++ b/Procfile @@ -1,3 +1,3 @@ -collab: RUST_LOG=${RUST_LOG:-warn,collab=info} cargo run --package=collab serve +collab: RUST_LOG=${RUST_LOG:-warn,tower_http=info,collab=info} cargo run --package=collab serve livekit: livekit-server --dev blob_store: MINIO_ROOT_USER=the-blob-store-access-key MINIO_ROOT_PASSWORD=the-blob-store-secret-key minio server .blob_store diff --git a/crates/collab/Cargo.toml b/crates/collab/Cargo.toml index 214f8bf8aa3841e787a2cd3fd4d01e6993b09306..1591c3e9501962ae87183f53e5b5a11bce759b11 100644 --- a/crates/collab/Cargo.toml +++ b/crates/collab/Cargo.toml @@ -61,6 +61,7 @@ tokio-tungstenite = "0.17" toml.workspace = true tonic = "0.6" tower = "0.4" +tower-http = { workspace = true, features = ["trace"] } tracing = "0.1.34" tracing-log = "0.1.3" tracing-subscriber = { version = "0.3.11", features = ["env-filter", "json"] } diff --git a/crates/collab/src/main.rs b/crates/collab/src/main.rs index 5f4a24a70a2a363b57be21be8e326b6923b0b315..916deeb1f9bb937c6de25e140d1741b128fb2e5a 100644 --- a/crates/collab/src/main.rs +++ b/crates/collab/src/main.rs @@ -12,6 +12,8 @@ use std::{ sync::Arc, }; use tokio::signal::unix::SignalKind; +use tower_http::trace::{self, TraceLayer}; +use tracing::Level; use tracing_log::LogTracer; use tracing_subscriber::{filter::EnvFilter, fmt::format::JsonFields, Layer}; use util::ResultExt; @@ -72,13 +74,18 @@ async fn main() -> Result<()> { if let Some(rpc_server) = rpc_server.clone() { app = app.merge(collab::rpc::routes(rpc_server)) } - app = app.merge( - Router::new() - .route("/", get(handle_root)) - .route("/healthz", get(handle_liveness_probe)) - .merge(collab::api::events::router()) - .layer(Extension(state.clone())), - ); + app = app + .merge( + Router::new() + .route("/", get(handle_root)) + .route("/healthz", get(handle_liveness_probe)) + .merge(collab::api::events::router()) + .layer(Extension(state.clone())), + ) + .layer( + TraceLayer::new_for_http() + .on_response(trace::DefaultOnResponse::new().level(Level::INFO)), + ); axum::Server::from_tcp(listener)? .serve(app.into_make_service_with_connect_info::())