From f639df5cefd55b4adf67e395fe0d361947284cc4 Mon Sep 17 00:00:00 2001 From: Dmitry Yakimenko Date: Tue, 16 Sep 2025 14:02:35 +0200 Subject: [PATCH] Replace colog and env_logger with the crates aready used in the project. And disable admin.exe logging by default. Remove hardcoded filename. --- apps/desktop/desktop_native/Cargo.lock | 86 +------------------ .../bitwarden_chromium_importer/Cargo.toml | 3 +- .../src/bin/admin.rs | 28 +++--- 3 files changed, 16 insertions(+), 101 deletions(-) diff --git a/apps/desktop/desktop_native/Cargo.lock b/apps/desktop/desktop_native/Cargo.lock index a73ba1e8b28..fc2f8bb5958 100644 --- a/apps/desktop/desktop_native/Cargo.lock +++ b/apps/desktop/desktop_native/Cargo.lock @@ -459,9 +459,7 @@ dependencies = [ "cbc", "chacha20poly1305", "clap", - "colog", "dirs", - "env_logger", "hex", "log", "oo7", @@ -472,6 +470,7 @@ dependencies = [ "serde", "serde_json", "sha1", + "simplelog", "tokio", "windows 0.61.1", ] @@ -686,33 +685,12 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "colog" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c426b7af8d5e0ad79de6713996632ce31f0d68ba84068fb0d654b396e519df0" -dependencies = [ - "colored", - "env_logger", - "log", -] - [[package]] name = "colorchoice" version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" -[[package]] -name = "colored" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" -dependencies = [ - "lazy_static", - "windows-sys 0.59.0", -] - [[package]] name = "concurrent-queue" version = "2.5.0" @@ -1187,29 +1165,6 @@ dependencies = [ "syn", ] -[[package]] -name = "env_filter" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" -dependencies = [ - "log", - "regex", -] - -[[package]] -name = "env_logger" -version = "0.11.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c863f0904021b108aa8b2f55046443e6b1ebde8fd4a15c399893aae4fa069f" -dependencies = [ - "anstream", - "anstyle", - "env_filter", - "jiff", - "log", -] - [[package]] name = "equivalent" version = "1.0.2" @@ -1739,30 +1694,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" -[[package]] -name = "jiff" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be1f93b8b1eb69c77f24bbb0afdf66f54b632ee39af40ca21c4365a1d7347e49" -dependencies = [ - "jiff-static", - "log", - "portable-atomic", - "portable-atomic-util", - "serde", -] - -[[package]] -name = "jiff-static" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03343451ff899767262ec32146f6d559dd759fdadf42ff0e227c7c48f72594b4" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "keytar" version = "0.1.6" @@ -2569,21 +2500,6 @@ dependencies = [ "universal-hash", ] -[[package]] -name = "portable-atomic" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" - -[[package]] -name = "portable-atomic-util" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507" -dependencies = [ - "portable-atomic", -] - [[package]] name = "potential_utf" version = "0.1.2" diff --git a/apps/desktop/desktop_native/bitwarden_chromium_importer/Cargo.toml b/apps/desktop/desktop_native/bitwarden_chromium_importer/Cargo.toml index 77b75d341de..4396e9efb52 100644 --- a/apps/desktop/desktop_native/bitwarden_chromium_importer/Cargo.toml +++ b/apps/desktop/desktop_native/bitwarden_chromium_importer/Cargo.toml @@ -28,8 +28,7 @@ security-framework = { workspace = true } [target.'cfg(target_os = "windows")'.dependencies] chacha20poly1305 = "=0.10.1" clap = { version = "=4.5.40", features = ["derive"] } -colog = "=1.3.0" -env_logger = "=0.11.8" +simplelog = { workspace = true } tokio = { workspace = true, features = ["full"] } windows = { workspace = true, features = [ "Wdk_System_SystemServices", diff --git a/apps/desktop/desktop_native/bitwarden_chromium_importer/src/bin/admin.rs b/apps/desktop/desktop_native/bitwarden_chromium_importer/src/bin/admin.rs index fa30d7b095e..205e381e030 100644 --- a/apps/desktop/desktop_native/bitwarden_chromium_importer/src/bin/admin.rs +++ b/apps/desktop/desktop_native/bitwarden_chromium_importer/src/bin/admin.rs @@ -1,8 +1,8 @@ use anyhow::{anyhow, Result}; use base64::{engine::general_purpose, Engine as _}; use clap::Parser; -use env_logger::Target; use log::debug; +use simplelog::*; use std::{ ffi::{OsStr, OsString}, fs::OpenOptions, @@ -49,9 +49,9 @@ struct Args { encrypted: String, } -// Enable this to log to a file. Debugging a system level service in any other way is not easy. -const NEED_LOGGING: bool = true; -const LOG_FILENAME: &str = "c:\\temp\\bitwarden-abe-admin-log.txt"; +// Enable this to log to a file. The way this executable is used, it's not easy to debug and the stdout gets lost. +const NEED_LOGGING: bool = false; +const LOG_FILENAME: &str = "c:\\path\\to\\log.txt"; // This is an example filename, replace it with you own async fn send_message_to_pipe_server(pipe_name: &'static str, message: &str) -> Result { // TODO: Don't loop forever, but retry a few times @@ -332,16 +332,16 @@ macro_rules! debug_and_send_error { #[tokio::main] async fn main() { if NEED_LOGGING { - colog::default_builder() - .filter_level(log::STATIC_MAX_LEVEL) // Controlled by the feature flags in Cargo.toml - .target(Target::Pipe(Box::new( - OpenOptions::new() - .create(true) - .append(true) - .open(LOG_FILENAME) - .expect("Can't open the log file"), - ))) - .init(); + WriteLogger::init( + LevelFilter::Debug, // Controlled by the feature flags in Cargo.toml + Config::default(), + OpenOptions::new() + .create(true) + .append(true) + .open(LOG_FILENAME) + .expect("Can't open the log file"), + ) + .expect("Failed to initialize logger"); } debug!("Starting admin");