diff --git a/server/src/lib.rs b/server/src/lib.rs index 5cc630f..62eba49 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -31,17 +31,17 @@ pub async fn serve() { fn init() -> Router { let auth: Router = library::typed_router::get_router(); - // let trace_layer = TraceLayer::new_for_http().make_span_with(|request: &Request| { - // let req_id = match request - // .headers() - // .get("x-request-id") - // .and_then(|value| value.to_str().ok()) - // { - // Some(v) if v.chars().all(|c| c.is_alphanumeric()) => v.to_string(),// 确保请求ID只包含字母和数字 - // _ => panic!("无效的请求ID"), - // }; - // tracing::error_span!("request_id", id = req_id) - // }); + let trace_layer = TraceLayer::new_for_http().make_span_with(|request: &Request| { + let req_id = match request + .headers() + .get("x-request-id") + .and_then(|value| value.to_str().ok()) + { + Some(v) if v.chars().all(|c| c.is_alphanumeric()) => v.to_string(),// 确保请求ID只包含字母和数字 + _ => panic!("无效的请求ID"), + }; + tracing::error_span!("request_id", id = req_id) + }); // 配置路由 // layer之间存在顺序依赖,勿改。layer执行顺序和配置顺序一致 @@ -51,7 +51,7 @@ fn init() -> Router { .nest(&config!().server.prefix_url, auth) .layer( ServiceBuilder::new() - // .layer(trace_layer) + .layer(trace_layer) .layer(axum::middleware::from_fn( library::middleware::req_id::handle, ))