style: format api server tracing layer
This commit is contained in:
@@ -693,7 +693,10 @@ pub fn build_router(state: AppState) -> Router {
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
.on_request(DefaultOnRequest::new().level(Level::INFO))
|
.on_request(DefaultOnRequest::new().level(Level::INFO))
|
||||||
.on_response(move |response: &axum::response::Response, latency: std::time::Duration, span: &Span| {
|
.on_response(
|
||||||
|
move |response: &axum::response::Response,
|
||||||
|
latency: std::time::Duration,
|
||||||
|
span: &Span| {
|
||||||
let latency_ms = latency.as_millis().min(u64::MAX as u128) as u64;
|
let latency_ms = latency.as_millis().min(u64::MAX as u128) as u64;
|
||||||
let status = response.status().as_u16();
|
let status = response.status().as_u16();
|
||||||
let slow_request = latency_ms >= slow_request_threshold_ms;
|
let slow_request = latency_ms >= slow_request_threshold_ms;
|
||||||
@@ -716,8 +719,12 @@ pub fn build_router(state: AppState) -> Router {
|
|||||||
"http request completed"
|
"http request completed"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
})
|
},
|
||||||
.on_failure(|failure: ServerErrorsFailureClass, latency: std::time::Duration, span: &Span| {
|
)
|
||||||
|
.on_failure(
|
||||||
|
|failure: ServerErrorsFailureClass,
|
||||||
|
latency: std::time::Duration,
|
||||||
|
span: &Span| {
|
||||||
let latency_ms = latency.as_millis().min(u64::MAX as u128) as u64;
|
let latency_ms = latency.as_millis().min(u64::MAX as u128) as u64;
|
||||||
error!(
|
error!(
|
||||||
parent: span,
|
parent: span,
|
||||||
@@ -725,7 +732,8 @@ pub fn build_router(state: AppState) -> Router {
|
|||||||
failure = %failure,
|
failure = %failure,
|
||||||
"http request failed"
|
"http request failed"
|
||||||
);
|
);
|
||||||
}),
|
},
|
||||||
|
),
|
||||||
)
|
)
|
||||||
// request_id 中间件先进入请求链,确保后续 tracing、错误处理和响应头层都能复用同一份请求标识。
|
// request_id 中间件先进入请求链,确保后续 tracing、错误处理和响应头层都能复用同一份请求标识。
|
||||||
.layer(middleware::from_fn(attach_request_context))
|
.layer(middleware::from_fn(attach_request_context))
|
||||||
|
|||||||
Reference in New Issue
Block a user