From 515e61dc458b7cd4c57661791250018c9cb6b3e3 Mon Sep 17 00:00:00 2001 From: PlexSheep Date: Sun, 8 Sep 2024 01:37:05 +0200 Subject: [PATCH] feat(logging): precise and understandable logging --- .gitignore | 1 + Cargo.toml | 5 ++++- src/challenge/admin.rs | 11 ++++++++++- src/main.rs | 3 +++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 193d30e..8fc9520 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ Cargo.lock # Added by cargo /target +log diff --git a/Cargo.toml b/Cargo.toml index acb010b..f824396 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,7 +15,7 @@ repository = "https://git.cscherr.de/PlexSheep/wooly-vault" anyhow = "1.0.86" async-trait = "0.1.82" clap = { version = "4.5.17", features = ["derive"] } -libpt = { version = "0.7.1", features = ["cli", "log"] } +libpt = { version = "0.7.3-alpha.0", features = ["cli", "log"] } minijinja = { version = "2.2.0", optional = true } rand = "0.8.5" serde = { version = "1.0.209", features = ["derive"] } @@ -29,6 +29,9 @@ tokio = { version = "1.40.0", features = [ "rt", "sync", ] } +tracing = "0.1.40" +tracing-appender = "0.2.3" +tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } warp = { version = "0.3.7", optional = true } [features] diff --git a/src/challenge/admin.rs b/src/challenge/admin.rs index 3f4b6fd..6c933cf 100644 --- a/src/challenge/admin.rs +++ b/src/challenge/admin.rs @@ -4,6 +4,7 @@ use std::sync::Arc; use anyhow::Result; use libpt::log::error; use libpt::log::info; +use libpt::log::tracing; use libpt::log::warn; use minijinja::context; use minijinja::Environment; @@ -53,7 +54,15 @@ pub async fn serve(text: Descriptions, vault: VaultRef, config: Config) -> Resul .map(move || service2.clone()) .and_then(overview) .or(warp::path("styles.css").and_then(styles)) - .recover(handle_rejection); + .recover(handle_rejection) + .with(warp::trace(|info| { + // Create a span using tracing macros + tracing::info_span!( + "admin", + method = %info.method(), + path = %info.path(), + ) + })); warp::serve(routes) .run(service.config.addr_admin.unwrap()) diff --git a/src/main.rs b/src/main.rs index 5942211..b7fe776 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,7 +11,10 @@ async fn main() -> Result<()> { let _logger = libpt::log::Logger::builder() .set_level(conf.verbosity.level()) .display_time(false) + .log_to_file(true) + .log_dir("./log".into()) .build()?; + debug!("logger active"); info!("Configuration: {conf:?}");