diff --git a/src-tauri/src/core/mod.rs b/src-tauri/src/core/mod.rs index 7adc356a354ad3cecbba20a8634f6b81240e16de..893e26184539c83452d82a82070a734f01cce562 100644 --- a/src-tauri/src/core/mod.rs +++ b/src-tauri/src/core/mod.rs @@ -418,7 +418,7 @@ impl Core { let result = event.payload(); if result.is_none() { - log::warn!("event payload result is none"); + log::warn!(target: "app", "event payload result is none"); return; } @@ -438,10 +438,10 @@ impl Core { let service = service.lock(); log_if_err!(service.set_config(info, config, notice)); - log::info!("profile enhanced status {}", result.status); + log::info!(target: "app", "profile enhanced status {}", result.status); } - result.error.map(|err| log::error!("{err}")); + result.error.map(|err| log::error!(target: "app", "{err}")); }); let verge = self.verge.lock(); diff --git a/src-tauri/src/core/service.rs b/src-tauri/src/core/service.rs index adfb906f59ea96a548cc77d57a8a485e21f2d36c..64bec643fbcbad51ac5fab9cdf47dbe398e3e803 100644 --- a/src-tauri/src/core/service.rs +++ b/src-tauri/src/core/service.rs @@ -53,12 +53,10 @@ impl Service { Ok(status) => { // 未å¯åŠ¨clash if status.code != 0 { - if let Err(err) = Self::start_clash_by_service().await { - log::error!("{err}"); - } + log_if_err!(Self::start_clash_by_service().await); } } - Err(err) => log::error!("{err}"), + Err(err) => log::error!(target: "app", "{err}"), } }); @@ -77,9 +75,7 @@ impl Service { } tauri::async_runtime::spawn(async move { - if let Err(err) = Self::stop_clash_by_service().await { - log::error!("{err}"); - } + log_if_err!(Self::stop_clash_by_service().await); }); Ok(()) @@ -109,8 +105,11 @@ impl Service { tauri::async_runtime::spawn(async move { while let Some(event) = rx.recv().await { match event { - CommandEvent::Stdout(line) => log::info!("[clash]: {}", line), - CommandEvent::Stderr(err) => log::error!("[clash]: {}", err), + CommandEvent::Stdout(line) => { + let stdout = if line.len() > 33 { &line[33..] } else { &line }; + log::info!(target: "app" ,"[clash]: {}", stdout); + } + CommandEvent::Stderr(err) => log::error!(target: "app" ,"[clash error]: {}", err), _ => {} } } @@ -152,7 +151,7 @@ impl Service { match builder.send().await { Ok(resp) => { if resp.status() != 204 { - log::error!("failed to activate clash with status \"{}\"", resp.status()); + log::error!(target: "app", "failed to activate clash with status \"{}\"", resp.status()); } notice.refresh_clash(); @@ -160,10 +159,10 @@ impl Service { // do not retry break; } - Err(err) => log::error!("failed to activate for `{err}`"), + Err(err) => log::error!(target: "app", "failed to activate for `{err}`"), } } - Err(err) => log::error!("failed to activate for `{err}`"), + Err(err) => log::error!(target: "app", "failed to activate for `{err}`"), } sleep(Duration::from_millis(500)).await; } @@ -186,7 +185,7 @@ impl Service { match builder.send().await { Ok(_) => notice.refresh_clash(), - Err(err) => log::error!("{err}"), + Err(err) => log::error!(target: "app", "{err}"), } } }); diff --git a/src-tauri/src/core/sysopt.rs b/src-tauri/src/core/sysopt.rs index 365a75b90d885f23dab654f2afb2946cd0783327..e1f1c36f0779fe56e17cccaa5e12a3dc5b6b4e15 100644 --- a/src-tauri/src/core/sysopt.rs +++ b/src-tauri/src/core/sysopt.rs @@ -2,7 +2,6 @@ use super::{Clash, Verge}; use crate::{log_if_err, utils::sysopt::SysProxyConfig}; use anyhow::{bail, Result}; use auto_launch::{AutoLaunch, AutoLaunchBuilder}; -// use parking_lot::Mutex; use std::sync::Arc; use tauri::{async_runtime::Mutex, utils::platform::current_exe}; @@ -46,7 +45,7 @@ impl Sysopt { if enable { if let Err(err) = sysproxy.set_sys() { - log::error!("failed to set system proxy for `{err}`"); + log::error!(target: "app", "failed to set system proxy for `{err}`"); } } @@ -90,7 +89,7 @@ impl Sysopt { if let Some(sysproxy) = self.old_sysproxy.take() { match sysproxy.set_sys() { Ok(_) => self.cur_sysproxy = None, - Err(_) => log::error!("failed to reset proxy"), + Err(_) => log::error!(target: "app", "failed to reset proxy"), } } } @@ -183,7 +182,7 @@ impl Sysopt { break; } - log::debug!("try to guard the system proxy"); + log::debug!(target: "app", "try to guard the system proxy"); let clash = Clash::new(); @@ -194,7 +193,7 @@ impl Sysopt { log_if_err!(sysproxy.set_sys()); } - None => log::error!("failed to parse clash port"), + None => log::error!(target: "app", "failed to parse clash port"), } } diff --git a/src-tauri/src/core/timer.rs b/src-tauri/src/core/timer.rs index 5bb0bbdbc2018a9b7d80bf0087689a708a859e25..0d3d5c503a5339f0156332bd5d3ea62012c27026 100644 --- a/src-tauri/src/core/timer.rs +++ b/src-tauri/src/core/timer.rs @@ -139,7 +139,7 @@ impl Timer { /// the task runner async fn async_task(core: Core, uid: String) { - log::info!("running timer task `{uid}`"); + log::info!(target: "app", "running timer task `{uid}`"); log_if_err!(Core::update_profile_item(core, uid, None).await); } } diff --git a/src-tauri/src/utils/config.rs b/src-tauri/src/utils/config.rs index 38c03e073bf5712fe4f2fc93e0c4bb4264a8cd8e..12e3d6d3f90768ab48ab3069b1c9ef3b38c1a83b 100644 --- a/src-tauri/src/utils/config.rs +++ b/src-tauri/src/utils/config.rs @@ -5,7 +5,7 @@ use std::{fs, path::PathBuf}; /// read data from yaml as struct T pub fn read_yaml<T: DeserializeOwned + Default>(path: PathBuf) -> T { if !path.exists() { - log::error!("file not found \"{}\"", path.display()); + log::error!(target: "app", "file not found \"{}\"", path.display()); return T::default(); } @@ -14,7 +14,7 @@ pub fn read_yaml<T: DeserializeOwned + Default>(path: PathBuf) -> T { match serde_yaml::from_str::<T>(&yaml_str) { Ok(val) => val, Err(_) => { - log::error!("failed to read yaml file \"{}\"", path.display()); + log::error!(target: "app", "failed to read yaml file \"{}\"", path.display()); T::default() } } diff --git a/src-tauri/src/utils/help.rs b/src-tauri/src/utils/help.rs index 0b7dacbaf5eaaead6dab107401e52b024f88bea9..3d23a7611567ccb2d811f349d2a4e215fc3bdd25 100644 --- a/src-tauri/src/utils/help.rs +++ b/src-tauri/src/utils/help.rs @@ -80,7 +80,7 @@ pub fn open_file(path: PathBuf) -> Result<()> { macro_rules! log_if_err { ($result: expr) => { if let Err(err) = $result { - log::error!("{err}"); + log::error!(target: "app", "{err}"); } }; } @@ -93,7 +93,7 @@ macro_rules! wrap_err { match $stat { Ok(a) => Ok(a), Err(err) => { - log::error!("{}", err.to_string()); + log::error!(target: "app", "{}", err.to_string()); Err(format!("{}", err.to_string())) } } diff --git a/src-tauri/src/utils/init.rs b/src-tauri/src/utils/init.rs index d44bee07534b087d21530c72cf0d17fba9bdf021..f301512dba5b4014c7335e0aaa4e169afc303a0b 100644 --- a/src-tauri/src/utils/init.rs +++ b/src-tauri/src/utils/init.rs @@ -3,7 +3,7 @@ use chrono::Local; use log::LevelFilter; use log4rs::append::console::ConsoleAppender; use log4rs::append::file::FileAppender; -use log4rs::config::{Appender, Config, Root}; +use log4rs::config::{Appender, Config, Logger, Root}; use log4rs::encode::pattern::PatternEncoder; use std::fs; use std::io::Write; @@ -28,11 +28,13 @@ fn init_log(log_dir: &PathBuf) { let config = Config::builder() .appender(Appender::builder().build("stdout", Box::new(stdout))) .appender(Appender::builder().build("file", Box::new(tofile))) - .build( - Root::builder() - .appenders(["stdout", "file"]) - .build(LevelFilter::Info), + .logger( + Logger::builder() + .appenders(["file", "stdout"]) + .additive(false) + .build("app", LevelFilter::Info), ) + .build(Root::builder().appender("stdout").build(LevelFilter::Info)) .unwrap(); log4rs::init_config(config).unwrap(); @@ -78,7 +80,7 @@ pub fn init_app(package_info: &PackageInfo) { init_log(&log_dir); if let Err(err) = init_config(&app_dir) { - log::error!("{err}"); + log::error!(target: "app", "{err}"); } // copy the resource file diff --git a/src-tauri/src/utils/resolve.rs b/src-tauri/src/utils/resolve.rs index b35a0436db45badeac9eb3f25f4ff22c8125abf4..0ef62b79725b94f61451b3e9c8937b32bb9422e3 100644 --- a/src-tauri/src/utils/resolve.rs +++ b/src-tauri/src/utils/resolve.rs @@ -111,7 +111,7 @@ pub fn create_window(app_handle: &AppHandle) { } }); } - Err(err) => log::error!("{err}"), + Err(err) => log::error!(target: "app", "{err}"), } }