feat(api): use tracing-actix logger middleware
- Completely move away from using traditional logs
This commit is contained in:
parent
444e42351e
commit
7b5fa61780
20
Cargo.lock
generated
20
Cargo.lock
generated
@ -620,6 +620,7 @@ dependencies = [
|
|||||||
"sqlx",
|
"sqlx",
|
||||||
"tokio",
|
"tokio",
|
||||||
"tracing",
|
"tracing",
|
||||||
|
"tracing-actix-web",
|
||||||
"tracing-bunyan-formatter",
|
"tracing-bunyan-formatter",
|
||||||
"tracing-log 0.2.0",
|
"tracing-log 0.2.0",
|
||||||
"tracing-subscriber",
|
"tracing-subscriber",
|
||||||
@ -1301,6 +1302,12 @@ dependencies = [
|
|||||||
"windows-sys 0.48.0",
|
"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]]
|
[[package]]
|
||||||
name = "native-tls"
|
name = "native-tls"
|
||||||
version = "0.2.11"
|
version = "0.2.11"
|
||||||
@ -2597,6 +2604,19 @@ dependencies = [
|
|||||||
"tracing-core",
|
"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]]
|
[[package]]
|
||||||
name = "tracing-attributes"
|
name = "tracing-attributes"
|
||||||
version = "0.1.27"
|
version = "0.1.27"
|
||||||
|
@ -28,6 +28,7 @@ tracing-bunyan-formatter = "0.3.9"
|
|||||||
tracing-log = "0.2.0"
|
tracing-log = "0.2.0"
|
||||||
once_cell = "1.19.0"
|
once_cell = "1.19.0"
|
||||||
secrecy = { version = "0.8.0", features = ["serde"] }
|
secrecy = { version = "0.8.0", features = ["serde"] }
|
||||||
|
tracing-actix-web = "0.7.10"
|
||||||
|
|
||||||
[dependencies.sqlx]
|
[dependencies.sqlx]
|
||||||
version = "0.7"
|
version = "0.7"
|
||||||
|
@ -14,7 +14,6 @@ pub struct FormData {
|
|||||||
// functions args isn't really relevant to the span
|
// functions args isn't really relevant to the span
|
||||||
skip(form, db_conn_pool),
|
skip(form, db_conn_pool),
|
||||||
fields(
|
fields(
|
||||||
request_id = %Uuid::new_v4(),
|
|
||||||
subscriber_email = %form.email,
|
subscriber_email = %form.email,
|
||||||
subscriber_name = %form.name
|
subscriber_name = %form.name
|
||||||
)
|
)
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
use crate::routes::{healthcheck_route, subscribe_route};
|
use crate::routes::{healthcheck_route, subscribe_route};
|
||||||
use actix_web::dev::Server;
|
use actix_web::dev::Server;
|
||||||
use actix_web::middleware::Logger;
|
|
||||||
use actix_web::{web, App, HttpServer};
|
use actix_web::{web, App, HttpServer};
|
||||||
use sqlx::PgPool;
|
use sqlx::PgPool;
|
||||||
use std::net::TcpListener;
|
use std::net::TcpListener;
|
||||||
|
use tracing_actix_web::TracingLogger;
|
||||||
|
|
||||||
pub fn run(listener: TcpListener, db_conn_pool: PgPool) -> Result<Server, std::io::Error> {
|
pub fn run(listener: TcpListener, db_conn_pool: PgPool) -> Result<Server, std::io::Error> {
|
||||||
// under the hood, web::Data::new will create an Arc
|
// under the hood, web::Data::new will create an Arc
|
||||||
@ -12,7 +12,7 @@ pub fn run(listener: TcpListener, db_conn_pool: PgPool) -> Result<Server, std::i
|
|||||||
|
|
||||||
let server = HttpServer::new(move || {
|
let server = HttpServer::new(move || {
|
||||||
App::new()
|
App::new()
|
||||||
.wrap(Logger::default())
|
.wrap(TracingLogger::default())
|
||||||
.route("/health_check", web::get().to(healthcheck_route))
|
.route("/health_check", web::get().to(healthcheck_route))
|
||||||
.route("/subscriptions", web::post().to(subscribe_route))
|
.route("/subscriptions", web::post().to(subscribe_route))
|
||||||
.app_data(db_conn_pool.clone())
|
.app_data(db_conn_pool.clone())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user