From 7b5fa617805ad4a36bc66f543be5ddb79bbcdf6a Mon Sep 17 00:00:00 2001 From: minhtrannhat Date: Wed, 8 May 2024 23:50:03 -0400 Subject: [PATCH] feat(api): use tracing-actix logger middleware - Completely move away from using traditional logs --- Cargo.lock | 20 ++++++++++++++++++++ Cargo.toml | 1 + src/routes/subscriptions.rs | 1 - src/startup.rs | 4 ++-- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2aaa4d8..b1c4978 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -620,6 +620,7 @@ dependencies = [ "sqlx", "tokio", "tracing", + "tracing-actix-web", "tracing-bunyan-formatter", "tracing-log 0.2.0", "tracing-subscriber", @@ -1301,6 +1302,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "mutually_exclusive_features" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d02c0b00610773bb7fc61d85e13d86c7858cbdf00e1a120bfc41bc055dbaa0e" + [[package]] name = "native-tls" version = "0.2.11" @@ -2597,6 +2604,19 @@ dependencies = [ "tracing-core", ] +[[package]] +name = "tracing-actix-web" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa069bd1503dd526ee793bb3fce408895136c95fc86d2edb2acf1c646d7f0684" +dependencies = [ + "actix-web", + "mutually_exclusive_features", + "pin-project", + "tracing", + "uuid", +] + [[package]] name = "tracing-attributes" version = "0.1.27" diff --git a/Cargo.toml b/Cargo.toml index 6328356..381ff1d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,6 +28,7 @@ tracing-bunyan-formatter = "0.3.9" tracing-log = "0.2.0" once_cell = "1.19.0" secrecy = { version = "0.8.0", features = ["serde"] } +tracing-actix-web = "0.7.10" [dependencies.sqlx] version = "0.7" diff --git a/src/routes/subscriptions.rs b/src/routes/subscriptions.rs index 38da4f9..5d46407 100644 --- a/src/routes/subscriptions.rs +++ b/src/routes/subscriptions.rs @@ -14,7 +14,6 @@ pub struct FormData { // functions args isn't really relevant to the span skip(form, db_conn_pool), fields( - request_id = %Uuid::new_v4(), subscriber_email = %form.email, subscriber_name = %form.name ) diff --git a/src/startup.rs b/src/startup.rs index 626fcb2..3cd46f7 100644 --- a/src/startup.rs +++ b/src/startup.rs @@ -1,9 +1,9 @@ use crate::routes::{healthcheck_route, subscribe_route}; use actix_web::dev::Server; -use actix_web::middleware::Logger; use actix_web::{web, App, HttpServer}; use sqlx::PgPool; use std::net::TcpListener; +use tracing_actix_web::TracingLogger; pub fn run(listener: TcpListener, db_conn_pool: PgPool) -> Result { // under the hood, web::Data::new will create an Arc @@ -12,7 +12,7 @@ pub fn run(listener: TcpListener, db_conn_pool: PgPool) -> Result