mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-01-29 00:35:38 +08:00
refactor: use logging
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
use crate::{
|
use crate::{
|
||||||
config::{Config, IVerge},
|
config::{Config, IVerge},
|
||||||
core::backup,
|
core::backup,
|
||||||
logging_error,
|
logging, logging_error,
|
||||||
utils::{
|
utils::{
|
||||||
dirs::{app_home_dir, local_backup_dir},
|
dirs::{app_home_dir, local_backup_dir},
|
||||||
logging::Type,
|
logging::Type,
|
||||||
@@ -24,7 +24,7 @@ pub struct LocalBackupFile {
|
|||||||
/// Create a backup and upload to WebDAV
|
/// Create a backup and upload to WebDAV
|
||||||
pub async fn create_backup_and_upload_webdav() -> Result<()> {
|
pub async fn create_backup_and_upload_webdav() -> Result<()> {
|
||||||
let (file_name, temp_file_path) = backup::create_backup().map_err(|err| {
|
let (file_name, temp_file_path) = backup::create_backup().map_err(|err| {
|
||||||
log::error!(target: "app", "Failed to create backup: {err:#?}");
|
logging!(error, Type::Backup, "Failed to create backup: {err:#?}");
|
||||||
err
|
err
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
@@ -32,14 +32,14 @@ pub async fn create_backup_and_upload_webdav() -> Result<()> {
|
|||||||
.upload(temp_file_path.clone(), file_name)
|
.upload(temp_file_path.clone(), file_name)
|
||||||
.await
|
.await
|
||||||
{
|
{
|
||||||
log::error!(target: "app", "Failed to upload to WebDAV: {err:#?}");
|
logging!(error, Type::Backup, "Failed to upload to WebDAV: {err:#?}");
|
||||||
// 上传失败时重置客户端缓存
|
// 上传失败时重置客户端缓存
|
||||||
backup::WebDavClient::global().reset();
|
backup::WebDavClient::global().reset();
|
||||||
return Err(err);
|
return Err(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Err(err) = std::fs::remove_file(&temp_file_path) {
|
if let Err(err) = std::fs::remove_file(&temp_file_path) {
|
||||||
log::warn!(target: "app", "Failed to remove temp file: {err:#?}");
|
logging!(warn, Type::Backup, "Failed to remove temp file: {err:#?}");
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
@@ -48,7 +48,11 @@ pub async fn create_backup_and_upload_webdav() -> Result<()> {
|
|||||||
/// List WebDAV backups
|
/// List WebDAV backups
|
||||||
pub async fn list_wevdav_backup() -> Result<Vec<ListFile>> {
|
pub async fn list_wevdav_backup() -> Result<Vec<ListFile>> {
|
||||||
backup::WebDavClient::global().list().await.map_err(|err| {
|
backup::WebDavClient::global().list().await.map_err(|err| {
|
||||||
log::error!(target: "app", "Failed to list WebDAV backup files: {err:#?}");
|
logging!(
|
||||||
|
error,
|
||||||
|
Type::Backup,
|
||||||
|
"Failed to list WebDAV backup files: {err:#?}"
|
||||||
|
);
|
||||||
err
|
err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -59,7 +63,11 @@ pub async fn delete_webdav_backup(filename: String) -> Result<()> {
|
|||||||
.delete(filename)
|
.delete(filename)
|
||||||
.await
|
.await
|
||||||
.map_err(|err| {
|
.map_err(|err| {
|
||||||
log::error!(target: "app", "Failed to delete WebDAV backup file: {err:#?}");
|
logging!(
|
||||||
|
error,
|
||||||
|
Type::Backup,
|
||||||
|
"Failed to delete WebDAV backup file: {err:#?}"
|
||||||
|
);
|
||||||
err
|
err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -79,7 +87,11 @@ pub async fn restore_webdav_backup(filename: String) -> Result<()> {
|
|||||||
.download(filename, backup_storage_path.clone())
|
.download(filename, backup_storage_path.clone())
|
||||||
.await
|
.await
|
||||||
.map_err(|err| {
|
.map_err(|err| {
|
||||||
log::error!(target: "app", "Failed to download WebDAV backup file: {err:#?}");
|
logging!(
|
||||||
|
error,
|
||||||
|
Type::Backup,
|
||||||
|
"Failed to download WebDAV backup file: {err:#?}"
|
||||||
|
);
|
||||||
err
|
err
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
@@ -107,7 +119,11 @@ pub async fn restore_webdav_backup(filename: String) -> Result<()> {
|
|||||||
/// Create a backup and save to local storage
|
/// Create a backup and save to local storage
|
||||||
pub fn create_local_backup() -> Result<()> {
|
pub fn create_local_backup() -> Result<()> {
|
||||||
let (file_name, temp_file_path) = backup::create_backup().map_err(|err| {
|
let (file_name, temp_file_path) = backup::create_backup().map_err(|err| {
|
||||||
log::error!(target: "app", "Failed to create local backup: {err:#?}");
|
logging!(
|
||||||
|
error,
|
||||||
|
Type::Backup,
|
||||||
|
"Failed to create local backup: {err:#?}"
|
||||||
|
);
|
||||||
err
|
err
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
@@ -115,11 +131,16 @@ pub fn create_local_backup() -> Result<()> {
|
|||||||
let target_path = backup_dir.join(&file_name);
|
let target_path = backup_dir.join(&file_name);
|
||||||
|
|
||||||
if let Err(err) = move_file(temp_file_path.clone(), target_path.clone()) {
|
if let Err(err) = move_file(temp_file_path.clone(), target_path.clone()) {
|
||||||
log::error!(target: "app", "Failed to move local backup file: {err:#?}");
|
logging!(
|
||||||
|
error,
|
||||||
|
Type::Backup,
|
||||||
|
"Failed to move local backup file: {err:#?}"
|
||||||
|
);
|
||||||
// 清理临时文件
|
// 清理临时文件
|
||||||
if let Err(clean_err) = std::fs::remove_file(&temp_file_path) {
|
if let Err(clean_err) = std::fs::remove_file(&temp_file_path) {
|
||||||
log::warn!(
|
logging!(
|
||||||
target: "app",
|
warn,
|
||||||
|
Type::Backup,
|
||||||
"Failed to remove temp backup file after move error: {clean_err:#?}"
|
"Failed to remove temp backup file after move error: {clean_err:#?}"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -138,8 +159,9 @@ fn move_file(from: PathBuf, to: PathBuf) -> Result<()> {
|
|||||||
Ok(_) => Ok(()),
|
Ok(_) => Ok(()),
|
||||||
Err(rename_err) => {
|
Err(rename_err) => {
|
||||||
// Attempt copy + remove as fallback, covering cross-device moves
|
// Attempt copy + remove as fallback, covering cross-device moves
|
||||||
log::warn!(
|
logging!(
|
||||||
target: "app",
|
warn,
|
||||||
|
Type::Backup,
|
||||||
"Failed to rename backup file directly, fallback to copy/remove: {rename_err:#?}"
|
"Failed to rename backup file directly, fallback to copy/remove: {rename_err:#?}"
|
||||||
);
|
);
|
||||||
fs::copy(&from, &to).map_err(|err| anyhow!("Failed to copy backup file: {err:#?}"))?;
|
fs::copy(&from, &to).map_err(|err| anyhow!("Failed to copy backup file: {err:#?}"))?;
|
||||||
@@ -190,7 +212,12 @@ pub fn delete_local_backup(filename: String) -> Result<()> {
|
|||||||
let backup_dir = local_backup_dir()?;
|
let backup_dir = local_backup_dir()?;
|
||||||
let target_path = backup_dir.join(&filename);
|
let target_path = backup_dir.join(&filename);
|
||||||
if !target_path.exists() {
|
if !target_path.exists() {
|
||||||
log::warn!(target: "app", "Local backup file not found: {}", filename);
|
logging!(
|
||||||
|
warn,
|
||||||
|
Type::Backup,
|
||||||
|
"Local backup file not found: {}",
|
||||||
|
filename
|
||||||
|
);
|
||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
fs::remove_file(target_path)?;
|
fs::remove_file(target_path)?;
|
||||||
|
|||||||
Reference in New Issue
Block a user