summaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/lib.rs b/src/lib.rs
index f65e4d4..2263a67 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -3,6 +3,7 @@ mod config;
mod errors;
mod handlers;
mod models;
+mod trace;
pub use errors::{Error, Result};
@@ -11,7 +12,7 @@ use std::net::{IpAddr, Ipv6Addr, SocketAddr};
use axum::{Router, routing::get};
use clap::Parser;
use tokio::net::TcpListener;
-use tower_http::services::ServeFile;
+use tower_http::{services::ServeFile, trace::TraceLayer};
use args::{Cli, Command};
use config::Config;
@@ -21,6 +22,7 @@ pub fn app(config: Config) -> Router {
.nest_service("/static/style.css", ServeFile::new(&config.style_file))
.nest_service("/static/favicon.svg", ServeFile::new(&config.favicon_file))
.route("/", get(handlers::handler))
+ .layer(TraceLayer::new_for_http())
.with_state(config)
}
@@ -31,8 +33,12 @@ pub async fn run() -> Result<()> {
Command::Serv(args) => {
let config = config::Config::new(args)?;
+ trace::tracing_registry();
+
let socket = SocketAddr::new(IpAddr::V6(Ipv6Addr::UNSPECIFIED), config.port);
+
let listener = TcpListener::bind(socket).await?;
+ tracing::info!("listening on {}", listener.local_addr()?);
axum::serve(listener, app(config.clone())).await?;
}