From 371c6681ba47bc9e76ab8bfeffc171a9201092cd Mon Sep 17 00:00:00 2001 From: Tongg <tongguibina@163.com> Date: Tue, 31 Dec 2024 11:06:16 +0800 Subject: [PATCH] review --- Language/zh_CN.xaml | 5 +++++ Model/Helper/DataBaseHelper.cs | 4 ++-- Model/Helper/MultilingualHelper.cs | 4 ++-- Model/Services/AlgorithmServer.cs | 8 ++++++-- Model/Services/SOCClientService.cs | 11 +++++++++-- ViewModel/BaseWindow/HomeWindowVM.cs | 8 +++++--- 6 files changed, 29 insertions(+), 11 deletions(-) diff --git a/Language/zh_CN.xaml b/Language/zh_CN.xaml index e46a666..004a196 100644 --- a/Language/zh_CN.xaml +++ b/Language/zh_CN.xaml @@ -189,4 +189,9 @@ <sys:String x:Key="ImageFileReadFailure">图片文件读取失败</sys:String> <sys:String x:Key="JsonParseFailure">JSON解析失败</sys:String> + + + <sys:String x:Key="ApplicationError">应用程序出现错误:</sys:String> + + </ResourceDictionary> \ No newline at end of file diff --git a/Model/Helper/DataBaseHelper.cs b/Model/Helper/DataBaseHelper.cs index 4f9eefa..81ac5b7 100644 --- a/Model/Helper/DataBaseHelper.cs +++ b/Model/Helper/DataBaseHelper.cs @@ -146,7 +146,7 @@ public class DataBaseHelper catch (Exception ex) { Logger.Error($"全局异常捕获:{ex.Message}", ex); - System.Windows.MessageBox.Show($"应用程序出现错误:{ex.Message}"); + System.Windows.MessageBox.Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}"); } return null; } @@ -201,7 +201,7 @@ public class DataBaseHelper catch (Exception ex) { Logger.Error($"全局异常捕获:{ex.Message}", ex); - System.Windows.MessageBox.Show($"应用程序出现错误:{ex.Message}"); + System.Windows.MessageBox.Show($"{MultilingualHelper.getString("ApplicationError")}{ex.Message}"); } return null; } diff --git a/Model/Helper/MultilingualHelper.cs b/Model/Helper/MultilingualHelper.cs index 1a2df88..d785119 100644 --- a/Model/Helper/MultilingualHelper.cs +++ b/Model/Helper/MultilingualHelper.cs @@ -65,13 +65,13 @@ public class MultilingualHelper else { // 如果未找到对应的资源字典,给出提示信息 - MessageBox.Show($"未找到与 {resourceKey} 对应的资源字典,请检查资源配置。"); + MessageBox.Show($"We could not find the {resourceKey} resource, check the multi-language configuration"); } } else { // 如果未找到对应的资源字典(根据传入的resourceKey),给出提示信息 - MessageBox.Show($"未找到对应 {resourceKey} 的资源字典,请检查App.xaml中的资源配置。"); + MessageBox.Show($"We could not find the {resourceKey} resource, check the multi-language configuration"); } diff --git a/Model/Services/AlgorithmServer.cs b/Model/Services/AlgorithmServer.cs index 295a382..d926e9a 100644 --- a/Model/Services/AlgorithmServer.cs +++ b/Model/Services/AlgorithmServer.cs @@ -1,6 +1,7 @@ using System.Data; using System.Runtime.InteropServices; using System.Windows.Forms; +using log4net; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using SparkClient.Model.Entity.ApiEntity; @@ -10,7 +11,7 @@ namespace SparkClient.Model.Services { public class AlgorithmServer { - + private static readonly ILog Logger = LogManager.GetLogger(typeof(AlgorithmServer)); // 导入 C++ DLL 中的 DetectDiamond 函数 [DllImport("diamond_cut_inspector.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)] private static extern IntPtr DetectDiamond(string jsonData); @@ -89,12 +90,15 @@ namespace SparkClient.Model.Services // 记录日志或处理异常 Console.WriteLine($"Error in CallParseJsonAndReturnActions: {ex.Message}"); Console.WriteLine($"Stack Trace: {ex.StackTrace}"); - + Logger.Error($"Error in CallParseJsonAndReturnActions: {ex.Message}"); + Logger.Error($"Stack Trace: {ex.StackTrace}"); // 如果有 InnerException,打印出来 if (ex.InnerException != null) { Console.WriteLine($"Inner Exception: {ex.InnerException.Message}"); Console.WriteLine($"Inner Stack Trace: {ex.InnerException.StackTrace}"); + Logger.Error($"Inner Exception: {ex.InnerException.Message}"); + Logger.Error($"Inner Stack Trace: {ex.InnerException.StackTrace}"); } // 返回一个默认的 AlgorithmResultEntity 对象表示解析失败 MessageBox.Show(ex.Message); diff --git a/Model/Services/SOCClientService.cs b/Model/Services/SOCClientService.cs index f93ec58..7503573 100644 --- a/Model/Services/SOCClientService.cs +++ b/Model/Services/SOCClientService.cs @@ -7,6 +7,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows; using HandyControl.Tools.Extension; +using log4net; using SparkClient.Model.Common; using SparkClient.Model.Entity.ApiEntity; using SparkClient.Model.Helper; @@ -20,7 +21,9 @@ namespace SparkClient.Model.Services { // Log地址 private const string LogFilePath = @"..\..\..\Resource\Document\log.txt"; - + + private static readonly ILog Logger = LogManager.GetLogger(typeof(SOCClientService)); + /// <summary> /// 基础URL,用于构建完整的API请求地址。 /// </summary> @@ -115,6 +118,7 @@ namespace SparkClient.Model.Services { // 记录日志或进行其他处理 Console.WriteLine($"Error in DoSoc: {ex.Message}"); + Logger.Warn($"Error in DoSoc: {ex.Message}"); // 或者使用日志框架记录日志 // logger.LogError(ex, "Error in DoSoc method."); return new SocResultEntity { Status = StatusCodes.DeviceNotFound, Images = new List<string>() , DeviceId = ""}; @@ -170,6 +174,7 @@ namespace SparkClient.Model.Services default: // 其他状态码,记录警告并继续 Console.WriteLine($"Unexpected status code: {status} for URL: {url}"); + Logger.Warn($"Unexpected status code: {status} for URL: {url}"); imageIndex++; break; } @@ -178,6 +183,7 @@ namespace SparkClient.Model.Services { // 捕获HTTP请求异常并记录错误信息 Console.WriteLine($"HTTP request failed for URL: {url}, Exception: {ex.Message}"); + Logger.Error($"HTTP request failed for URL: {url}, Exception: {ex.Message}"); imageNames.Clear(); return imageNames; } @@ -185,6 +191,7 @@ namespace SparkClient.Model.Services { // 捕获其他异常并记录错误信息,结束循环 Console.WriteLine($"An unexpected error occurred for URL: {url}, Exception: {ex.Message}"); + Logger.Error($"An unexpected error occurred for URL: {url}, Exception: {ex.Message}"); imageNames.Clear(); return imageNames; } @@ -274,7 +281,7 @@ namespace SparkClient.Model.Services // 日志记录 // logger.Error(e, "发生异常"); string logMessage = $"[{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}] 发生异常: {e.Message}{Environment.NewLine}"; - File.AppendAllText(LogFilePath, logMessage); + Logger.Error(logMessage); return new SocResultEntity { Status = StatusCodes.DeviceNotFound, Images = new List<string>() }; } } diff --git a/ViewModel/BaseWindow/HomeWindowVM.cs b/ViewModel/BaseWindow/HomeWindowVM.cs index e9953e0..979d09f 100644 --- a/ViewModel/BaseWindow/HomeWindowVM.cs +++ b/ViewModel/BaseWindow/HomeWindowVM.cs @@ -1,5 +1,6 @@ using System.Windows; using System.Windows.Input; +using log4net; using SparkClient.Model.Helper; using SparkClient.Model.Services; using SparkClient.ViewModel.Configuration; @@ -10,7 +11,7 @@ namespace SparkClient.ViewModel.BaseWindow; public class HomeWindowVM : BaseViewModel { - + private static readonly ILog Logger = LogManager.GetLogger(typeof(HomeWindowVM)); private SOCClientService _socClientService; public ICommand ShowHelperPageCommand { get; } @@ -74,7 +75,7 @@ public class HomeWindowVM : BaseViewModel { // 记录日志 LogError(e); - ShowMessage("错误: " + e.Message); + ShowMessage("Error: " + e.Message); } } @@ -87,7 +88,8 @@ public class HomeWindowVM : BaseViewModel private void LogError(Exception e) { // 实现日志记录逻辑,例如写入文件或数据库 - Console.WriteLine($"Error: {e.Message}\n{e.StackTrace}"); + // Console.WriteLine($"Error: {e.Message}\n{e.StackTrace}"); + Logger.Error($"Error: {e.Message}\n{e.StackTrace}"); }