use anyhow::Result; use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; #[tokio::main] async fn main() -> Result<()> { dotenvy::dotenv().ok(); tracing_subscriber::registry() .with(tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| { "eventsnap_backend=debug,tower_http=debug".into() })) .with(tracing_subscriber::fmt::layer()) .init(); let port: u16 = std::env::var("APP_PORT") .unwrap_or_else(|_| "3000".to_string()) .parse()?; let router = axum::Router::new() .route("/health", axum::routing::get(|| async { "ok" })); let listener = tokio::net::TcpListener::bind(("0.0.0.0", port)).await?; tracing::info!("listening on {}", listener.local_addr()?); axum::serve(listener, router).await?; Ok(()) }