refactor(logging): replace log_err! with structured logging_error! calls

refactor(cm-service): better error handling from Backend to Frontend
This commit is contained in:
Tunglies
2025-03-28 03:39:21 +08:00
parent 59caa22431
commit e8e16f7d57
18 changed files with 232 additions and 128 deletions

View File

@@ -1,9 +1,10 @@
use crate::log_err;
use once_cell::sync::OnceCell;
use parking_lot::RwLock;
use std::sync::Arc;
use tauri::{AppHandle, Emitter, Manager, WebviewWindow};
use crate::{logging_error, utils::logging::Type};
#[derive(Debug, Default, Clone)]
pub struct Handle {
pub app_handle: Arc<RwLock<Option<AppHandle>>>,
@@ -40,26 +41,42 @@ impl Handle {
pub fn refresh_clash() {
if let Some(window) = Self::global().get_window() {
log_err!(window.emit("verge://refresh-clash-config", "yes"));
logging_error!(
Type::Frontend,
true,
window.emit("verge://refresh-clash-config", "yes")
);
}
}
pub fn refresh_verge() {
if let Some(window) = Self::global().get_window() {
log_err!(window.emit("verge://refresh-verge-config", "yes"));
logging_error!(
Type::Frontend,
true,
window.emit("verge://refresh-verge-config", "yes")
);
}
}
#[allow(unused)]
pub fn refresh_profiles() {
if let Some(window) = Self::global().get_window() {
log_err!(window.emit("verge://refresh-profiles-config", "yes"));
logging_error!(
Type::Frontend,
true,
window.emit("verge://refresh-profiles-config", "yes")
);
}
}
pub fn notice_message<S: Into<String>, M: Into<String>>(status: S, msg: M) {
if let Some(window) = Self::global().get_window() {
log_err!(window.emit("verge://notice-message", (status.into(), msg.into())));
logging_error!(
Type::Frontend,
true,
window.emit("verge://notice-message", (status.into(), msg.into()))
);
}
}

View File

@@ -1,7 +1,7 @@
use crate::{
config::Config,
core::handle,
feat, log_err, logging,
feat, logging, logging_error,
module::lightweight::entry_lightweight_mode,
utils::{logging::Type, resolve},
};
@@ -285,7 +285,7 @@ impl Hotkey {
});
add.iter().for_each(|(key, func)| {
log_err!(self.register(key, func));
logging_error!(Type::Hotkey, true, self.register(key, func));
});
*current = new_hotkeys;

View File

@@ -1,7 +1,8 @@
use crate::{
config::{Config, IVerge},
core::handle::Handle,
log_err,
logging_error,
utils::logging::Type,
};
use anyhow::Result;
use once_cell::sync::OnceCell;
@@ -231,7 +232,7 @@ impl Sysopt {
} else {
log::info!(target: "app", "Auto launch enabled successfully");
}
log_err!(result)
logging_error!(Type::System, true, result);
}
false => {
let result = autostart_manager.disable();
@@ -240,7 +241,7 @@ impl Sysopt {
} else {
log::info!(target: "app", "Auto launch disabled successfully");
}
log_err!(result)
logging_error!(Type::System, true, result);
}
};
@@ -323,7 +324,7 @@ impl Sysopt {
enable: true,
url: format!("http://127.0.0.1:{pac_port}/commands/pac"),
};
log_err!(autoproxy.set_auto_proxy());
logging_error!(Type::System, true, autoproxy.set_auto_proxy());
} else {
let sysproxy = Sysproxy {
enable: true,
@@ -332,7 +333,7 @@ impl Sysopt {
bypass: get_bypass(),
};
log_err!(sysproxy.set_system_proxy());
logging_error!(Type::System, true, sysproxy.set_system_proxy());
}
}

View File

@@ -8,7 +8,7 @@ use crate::{
feat,
module::{lightweight::entry_lightweight_mode, mihomo::Rate},
resolve,
utils::{dirs::find_target_icons, i18n::t, resolve::VERSION},
utils::{dirs::find_target_icons, i18n::t, logging::Type, resolve::VERSION},
};
use anyhow::Result;
@@ -684,9 +684,9 @@ fn on_menu_event(_: &AppHandle, event: MenuEvent) {
"system_proxy" => feat::toggle_system_proxy(),
"tun_mode" => feat::toggle_tun_mode(None),
"copy_env" => feat::copy_clash_env(),
"open_app_dir" => crate::log_err!(cmd::open_app_dir()),
"open_core_dir" => crate::log_err!(cmd::open_core_dir()),
"open_logs_dir" => crate::log_err!(cmd::open_logs_dir()),
"open_app_dir" => crate::logging_error!(Type::Cmd, true, cmd::open_app_dir()),
"open_core_dir" => crate::logging_error!(Type::Cmd, true, cmd::open_core_dir()),
"open_logs_dir" => crate::logging_error!(Type::Cmd, true, cmd::open_logs_dir()),
"restart_clash" => feat::restart_clash_core(),
"restart_app" => feat::restart_app(),
"entry_lightweight_mode" => entry_lightweight_mode(),