Add tracing subscriber and remove redundant logger middleware

This commit is contained in:
Thani Sheun 2023-05-04 19:00:42 +02:00
parent c59be1b374
commit 1fab7958b3
6 changed files with 70 additions and 9 deletions

68
Cargo.lock generated
View file

@ -181,6 +181,7 @@ dependencies = [
"tokio",
"tower",
"tower-http",
"tracing-subscriber",
"validator",
]
@ -1564,6 +1565,16 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
[[package]]
name = "nu-ansi-term"
version = "0.46.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
dependencies = [
"overload",
"winapi",
]
[[package]]
name = "num-bigint"
version = "0.4.3"
@ -1689,6 +1700,12 @@ version = "6.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267"
[[package]]
name = "overload"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
[[package]]
name = "parking_lot"
version = "0.11.2"
@ -2247,6 +2264,15 @@ dependencies = [
"digest",
]
[[package]]
name = "sharded-slab"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31"
dependencies = [
"lazy_static",
]
[[package]]
name = "signal-hook-registry"
version = "1.4.1"
@ -2568,6 +2594,16 @@ dependencies = [
"syn 2.0.15",
]
[[package]]
name = "thread_local"
version = "1.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152"
dependencies = [
"cfg-if",
"once_cell",
]
[[package]]
name = "time"
version = "0.1.45"
@ -2768,6 +2804,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a"
dependencies = [
"once_cell",
"valuable",
]
[[package]]
name = "tracing-log"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922"
dependencies = [
"lazy_static",
"log",
"tracing-core",
]
[[package]]
name = "tracing-subscriber"
version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77"
dependencies = [
"nu-ansi-term",
"sharded-slab",
"smallvec",
"thread_local",
"tracing-core",
"tracing-log",
]
[[package]]
@ -2904,6 +2966,12 @@ dependencies = [
"syn 1.0.109",
]
[[package]]
name = "valuable"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]]
name = "vcpkg"
version = "0.2.15"

View file

@ -21,4 +21,5 @@ sqlx = { version = "0.6.3", features = ["runtime-tokio-native-tls", "migrate", "
validator = { version = "0.16.0", features = ["derive"] }
async-trait = "0.1.68"
sqlx-cli = "0.6.3"
tracing-subscriber = "0.3.17"

View file

@ -22,6 +22,7 @@ async fn main() {
.unwrap_or_else(|e| panic!("Database error: {}", e.to_string()));
let host = format!("0.0.0.0:{}", parameter::get("PORT"));
tracing_subscriber::fmt::init();
axum::Server::bind(&host.parse().unwrap())
.serve(routes::root::routes(Arc::new(connection)))
.await

View file

@ -1,6 +0,0 @@
use axum::{http::Request, middleware::Next, response::IntoResponse};
pub async fn logger<B>(req: Request<B>, next: Next<B>) -> impl IntoResponse {
println!("{} {}", req.method(), req.uri());
next.run(req).await
}

View file

@ -1,2 +1 @@
pub mod auth;
pub mod logger;

View file

@ -1,7 +1,6 @@
use super::auth;
use crate::config::database::Database;
use crate::middleware::auth as auth_middleware;
use crate::middleware::logger;
use crate::routes::{profile, register};
use crate::state::auth_state::AuthState;
use crate::state::token_state::TokenState;
@ -29,7 +28,6 @@ pub fn routes(db_conn: Arc<Database>) -> IntoMakeService<Router> {
let app_router = Router::new()
.nest("/api", merged_router)
.layer(ServiceBuilder::new().layer(middleware::from_fn(logger::logger)))
.layer(TraceLayer::new_for_http());
app_router.into_make_service()