build: add api server tracing bootstrap

This commit is contained in:
2026-04-21 01:17:17 +08:00
parent 6ece1f41ee
commit f3b36f15b5
8 changed files with 211 additions and 8 deletions

View File

@@ -1,20 +1,26 @@
mod app;
mod config;
mod logging;
mod state;
use tokio::net::TcpListener;
use tracing::info;
use crate::{app::build_router, config::AppConfig, state::AppState};
use crate::{app::build_router, config::AppConfig, logging::init_tracing, state::AppState};
#[tokio::main]
async fn main() -> Result<(), std::io::Error> {
// 统一先从配置对象读取监听地址,避免后续把环境变量读取散落到入口和路由层。
let config = AppConfig::from_env();
init_tracing(&config)?;
let bind_address = config.bind_socket_addr();
let listener = TcpListener::bind(bind_address).await?;
let state = AppState::new(config);
let router = build_router(state);
info!(%bind_address, "api-server 已完成 tracing 初始化并开始监听");
axum::serve(listener, router).await
}