修复请求日志不输出的问题

TraceLayer 默认使用 DEBUG 级别,被 INFO 过滤器过滤;且放在
serve_dioxus_application 之前会被其重建路由时丢弃。将级别提升
至 INFO 并移至 serve_dioxus_application 之后。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
xfy 2026-05-27 13:19:52 +08:00
parent 4093178fc3
commit 24b04ee638

View File

@ -23,6 +23,7 @@ fn main() {
dioxus::server::serve(|| async move {
use dioxus::server::{axum, DioxusRouterExt, ServeConfig};
use tower_http::trace::TraceLayer;
use tracing::Level;
tokio::spawn(async {
tasks::session_cleanup::run_cleanup().await;
@ -30,8 +31,13 @@ fn main() {
let config = ServeConfig::new();
let router = axum::Router::new()
.layer(TraceLayer::new_for_http())
.serve_dioxus_application(config, router::AppRouter);
.serve_dioxus_application(config, router::AppRouter)
.layer(
TraceLayer::new_for_http()
.make_span_with(tower_http::trace::DefaultMakeSpan::new().level(Level::INFO))
.on_request(tower_http::trace::DefaultOnRequest::new().level(Level::INFO))
.on_response(tower_http::trace::DefaultOnResponse::new().level(Level::INFO)),
);
Ok(router)
});