From 67c79840eb7d06b503f24af457a6340884e358b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garci=CC=81a?= Date: Tue, 9 Jul 2024 20:22:09 +0200 Subject: [PATCH] Only log to file in debug builds --- apps/desktop/desktop_native/proxy/src/main.rs | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/apps/desktop/desktop_native/proxy/src/main.rs b/apps/desktop/desktop_native/proxy/src/main.rs index cb1976412b2..65f1666b6a7 100644 --- a/apps/desktop/desktop_native/proxy/src/main.rs +++ b/apps/desktop/desktop_native/proxy/src/main.rs @@ -1,24 +1,36 @@ -use std::fs::File; - use futures::{SinkExt, StreamExt}; use log::*; use tokio_util::codec::LengthDelimitedCodec; fn init_logging() { - use simplelog::{ColorChoice, CombinedLogger, Config, TermLogger, TerminalMode, WriteLogger}; - - let exe = std::env::current_exe().unwrap(); - let parent = exe.parent().unwrap(); + use simplelog::{ColorChoice, CombinedLogger, Config, SharedLogger, TermLogger, TerminalMode}; let level = LevelFilter::Info; let config = Config::default(); - let log_file = File::create(parent.join("proxy.log")).expect("Can't create file"); - CombinedLogger::init(vec![ - WriteLogger::new(level, config.clone(), log_file), - TermLogger::new(level, config, TerminalMode::Stderr, ColorChoice::Auto), - ]) - .unwrap(); + let mut loggers: Vec> = Vec::new(); + loggers.push(TermLogger::new( + level, + config.clone(), + TerminalMode::Stderr, + ColorChoice::Auto, + )); + + #[cfg(debug_assertions)] + { + match std::fs::File::create(std::env::temp_dir().join("bitwarden_desktop_proxy.log")) { + Ok(file) => { + loggers.push(simplelog::WriteLogger::new(level, config, file)); + } + Err(e) => { + eprintln!("Can't create file: {}", e); + } + } + } + + if let Err(e) = CombinedLogger::init(loggers) { + eprintln!("Failed to initialize logger: {}", e); + } } /// Bitwarden IPC Proxy.