use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; use upvoters::state::AppState; #[tokio::main] async fn main() { tracing_subscriber::registry() .with( tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| { format!("{}=debug,tower_http=debug", env!("CARGO_PKG_NAME")).into() }), ) .with(tracing_subscriber::fmt::layer()) .init(); let state = AppState::new().await; let port = &state.env.port; let listener = tokio::net::TcpListener::bind(format!("0.0.0.0:{port}")) .await .unwrap(); tracing::info!("listening on {}", listener.local_addr().unwrap()); axum::serve(listener, upvoters::app(state)).await.unwrap(); }