From ded56cd0c88b2e2390d0ab5410c846affea93527 Mon Sep 17 00:00:00 2001 From: vhmns Date: Fri, 11 Sep 2026 16:55:10 +0700 Subject: [PATCH 1/2] feat(logging): initialize tracing subscriber in CLI and desktop app (#85) --- app/src-tauri/Cargo.toml | 1 + app/src-tauri/src/lib.rs | 8 ++++++++ crates/diskern-cli/Cargo.toml | 1 + crates/diskern-cli/src/main.rs | 8 ++++++++ 4 files changed, 18 insertions(+) diff --git a/app/src-tauri/Cargo.toml b/app/src-tauri/Cargo.toml index c966eab..aed1809 100644 --- a/app/src-tauri/Cargo.toml +++ b/app/src-tauri/Cargo.toml @@ -21,6 +21,7 @@ tauri = { version = "2", features = [] } tauri-plugin-updater = "2" tauri-plugin-dialog = "2" tauri-plugin-process = "2" +tracing-subscriber.workspace = true [dev-dependencies] tempfile = "3" diff --git a/app/src-tauri/src/lib.rs b/app/src-tauri/src/lib.rs index 5a69c03..62cad19 100644 --- a/app/src-tauri/src/lib.rs +++ b/app/src-tauri/src/lib.rs @@ -4,6 +4,14 @@ mod commands; pub fn run() { + tracing_subscriber::fmt() + .with_env_filter( + tracing_subscriber::EnvFilter::try_from_default_env() + .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("warn")), + ) + .with_writer(std::io::stderr) + .init(); + tauri::Builder::default() .manage(std::sync::Arc::new(commands::ScanAuthority::default())) .setup(|app| { diff --git a/crates/diskern-cli/Cargo.toml b/crates/diskern-cli/Cargo.toml index 897630f..8e01993 100644 --- a/crates/diskern-cli/Cargo.toml +++ b/crates/diskern-cli/Cargo.toml @@ -16,6 +16,7 @@ diskern-core = { path = "../diskern-core" } anyhow.workspace = true serde_json.workspace = true clap = { version = "4", features = ["derive"] } +tracing-subscriber.workspace = true [dev-dependencies] tempfile = "3" diff --git a/crates/diskern-cli/src/main.rs b/crates/diskern-cli/src/main.rs index 0dfa439..f40f2fd 100644 --- a/crates/diskern-cli/src/main.rs +++ b/crates/diskern-cli/src/main.rs @@ -198,6 +198,14 @@ fn load_rules(path: Option<&std::path::Path>) -> Result { } fn main() -> Result<()> { + tracing_subscriber::fmt() + .with_env_filter( + tracing_subscriber::EnvFilter::try_from_default_env() + .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("warn")), + ) + .with_writer(std::io::stderr) + .init(); + let cli = Cli::parse(); match cli.command { Command::Scan { From 95d1eca41a15d331151d0ff410d1a2638b182d48 Mon Sep 17 00:00:00 2001 From: Muawiya Amir Date: Sat, 12 Sep 2026 23:37:16 +0500 Subject: [PATCH 2/2] chore(lockfile): include tracing subscriber --- Cargo.lock | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 387b82f..2ae48df 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -846,6 +846,7 @@ dependencies = [ "tauri-plugin-process", "tauri-plugin-updater", "tempfile", + "tracing-subscriber", ] [[package]] @@ -857,6 +858,7 @@ dependencies = [ "diskern-core", "serde_json", "tempfile", + "tracing-subscriber", ] [[package]] @@ -2080,6 +2082,12 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "lazy_static" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" + [[package]] name = "libappindicator" version = "0.9.0" @@ -2176,6 +2184,15 @@ dependencies = [ "web_atoms", ] +[[package]] +name = "matchers" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9" +dependencies = [ + "regex-automata", +] + [[package]] name = "memchr" version = "2.8.3" @@ -2294,6 +2311,15 @@ version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" +[[package]] +name = "nu-ansi-term" +version = "0.50.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" +dependencies = [ + "windows-sys 0.61.2", +] + [[package]] name = "num-conv" version = "0.2.2" @@ -3451,6 +3477,15 @@ dependencies = [ "digest", ] +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + [[package]] name = "shlex" version = "2.0.1" @@ -4138,6 +4173,15 @@ dependencies = [ "syn 3.0.5", ] +[[package]] +name = "thread_local" +version = "1.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad99c4c6d32803332c548b1af0540b357b3f5fc0be8f6c6bfe8b2e6ae784070" +dependencies = [ + "cfg-if", +] + [[package]] name = "time" version = "0.3.55" @@ -4424,6 +4468,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" dependencies = [ "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex-automata", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", ] [[package]] @@ -4574,6 +4648,12 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "valuable" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" + [[package]] name = "version-compare" version = "0.2.1"