chore: add tracing logs

This commit is contained in:
Alexander Navarro 2025-02-13 16:37:11 -03:00
parent 8d8388e81a
commit 5a9b871e42
3 changed files with 211 additions and 1 deletions

View file

@ -10,6 +10,9 @@ use axum::routing::get;
use axum::Router;
use compendium::{Result, ResultTemplate};
use minijinja::{context, Environment};
use tower_http::trace::TraceLayer;
use tracing::info;
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
struct AppState {
tmpl_env: Environment<'static>,
@ -17,6 +20,16 @@ struct AppState {
#[tokio::main]
async fn main() -> Result<()> {
// Logs
tracing_subscriber::registry()
.with(
tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| {
format!("{}=debug,tower_http=debug", env!("CARGO_CRATE_NAME")).into()
}),
)
.with(tracing_subscriber::fmt::layer())
.init();
let mut tmpl_env = Environment::new();
tmpl_env.add_template("base", include_str!("../templates/base.html"))?;
@ -24,6 +37,7 @@ async fn main() -> Result<()> {
let app = Router::new()
.route("/", get(handler_home))
.layer(TraceLayer::new_for_http().on_request(()))
.with_state(app_state);
// Add hot reload only on dev mode
@ -31,8 +45,9 @@ async fn main() -> Result<()> {
let app = app.layer(tower_livereload::LiveReloadLayer::new());
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await?;
axum::serve(listener, app).await?;
info!("listening on {}", listener.local_addr()?);
axum::serve(listener, app).await?;
Ok(())
}