mod routers; use tokio::net::TcpListener; use tracing::{Level, info}; async fn listener() -> TcpListener { let addr = std::env::var("SERVER_BIND").expect("SERVER_BIND must be set"); TcpListener::bind(addr).await.unwrap() } #[tokio::main] async fn main() { tracing_subscriber::fmt() .with_max_level(Level::DEBUG) .init(); let router = routers::router(); let listener = listener().await; info!( "Start listening server on http://{:?}", listener.local_addr().unwrap() ); axum::serve(listener, router).await.unwrap(); }