From 25b333ceb95e2d781af7ac03b957942464a3dbd1 Mon Sep 17 00:00:00 2001 From: tayttt Date: Mon, 9 Mar 2026 16:08:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=BC=BA=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95=E5=92=8C?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=8D=95=E8=8E=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 主要更改: - 修改log4net配置文件,增加异常堆栈信息和线程ID输出 - 在RemoteMySQLDataAccess中添加详细的异常日志记录 - 为所有数据库操作方法的catch块添加错误日志 - 日志包含方法参数信息,便于定位问题 详情: 1. log4net.config - ErrorAppender增加线程ID和异常详情输出 - DebugAppender增加线程ID和异常详情输出 2. RemoteMySQLDataAccess.cs - 添加日志记录器实例 - 18个catch块添加详细错误日志 - 日志包含操作参数(时间范围、ID、路径等) - 保留原有异常处理逻辑 这将帮助快速定位和重现数据库相关bug。 Co-Authored-By: Claude Sonnet 4.5 --- Txgy.EWS.Client.DAL/RemoteMySQLDataAccess.cs | 55 +++++++++++++------- Txgy.EWS.Client.Log/log4net.config | 5 +- 2 files changed, 39 insertions(+), 21 deletions(-) diff --git a/Txgy.EWS.Client.DAL/RemoteMySQLDataAccess.cs b/Txgy.EWS.Client.DAL/RemoteMySQLDataAccess.cs index 08355b3..514821a 100644 --- a/Txgy.EWS.Client.DAL/RemoteMySQLDataAccess.cs +++ b/Txgy.EWS.Client.DAL/RemoteMySQLDataAccess.cs @@ -12,6 +12,7 @@ using System.Text; using System.Threading; using System.Threading.Tasks; using Txgy.EWS.Client.Common; +using Txgy.EWS.Client.Common.Helpers; using Txgy.EWS.Client.IDAL; using Txgy.EWS.Client.Models; using Txgy.Microseismic.BaseLib.Common; @@ -23,6 +24,7 @@ namespace Txgy.EWS.Client.DAL { public class RemoteMySQLDataAccess : IRemoteMySQLDataAccess { + private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); IFreeSql fsql = FreeSqlTencent.tencentRemoteMySQL; public string saveWavePath = ""; public MySqlConnection RemoteConn { get; set; } @@ -69,8 +71,9 @@ namespace Txgy.EWS.Client.DAL } return true; } - catch + catch (Exception ex) { + logger.Error("数据库连接失败", ex); return false; } } @@ -131,6 +134,7 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { + logger.Error($"获取事件列表失败 - 开始时间:{startTime}, 结束时间:{endTime}, 页码:{pageIndex}, 每页数量:{perPageCount}", ex); return null; } } @@ -178,7 +182,8 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { - throw ex; + logger.Error($"获取事件列表失败 - 开始时间:{startTime}, 结束时间:{endTime}", ex); + throw; } finally { @@ -231,7 +236,7 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { - //messagebox.show + logger.Error($"获取事件列表失败 - 开始时间:{startTime}, 结束时间:{endTime}, minML:{minML}, maxML:{maxML}", ex); } finally { @@ -309,7 +314,7 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { - //throw ex; + logger.Error($"根据SQL查询事件失败 - QueryStr:{QueryStr}, SortTarget:{ssm}, SortMode:{sm}", ex); } finally { @@ -376,7 +381,8 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { - throw ex; + logger.Error($"获取最新事件失败 - MaxCnt:{MaxCnt}, PreCnt:{PreCnt}", ex); + throw; } finally { @@ -442,7 +448,8 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { - throw ex; + logger.Error($"下载波形数据失败 - 事件时间:{eventTime}, 保存路径:{savePath}, 保存名称:{saveName}, 表名:{tableName}", ex); + throw; } finally { @@ -498,7 +505,7 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { - //messagebox.show + logger.Error($"获取事件详情失败 - 事件ID:{eventID}", ex); } finally { @@ -551,7 +558,8 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { - throw ex; + logger.Error($"获取事件详情失败 - 事件时间:{eventTime}", ex); + throw; } finally { @@ -604,7 +612,8 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { - throw ex; + logger.Error($"获取最新事件失败 - 截止时间:{deadline}", ex); + throw; } finally { @@ -658,7 +667,8 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { - throw ex; + logger.Error($"获取最新事件列表失败 - 数量:{resultCount}", ex); + throw; } finally { @@ -764,9 +774,10 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { + logger.Error($"统计事件数量失败 - 开始时间:{startTime}, 结束时间:{endTime}", ex); // 异常处理代码 Console.WriteLine($"DownloadDataAsync error: {ex.StackTrace}"); - throw ex; + throw; } // 如果没有查询到数据,则返回空引用 return 0; @@ -837,9 +848,10 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { + logger.Error($"异步下载波形数据失败 - 事件时间:{gier.EventTime}, 保存路径:{savePath}", ex); // 异常处理代码 Console.WriteLine($"DownloadDataAsync error: {ex.StackTrace}"); - throw ex; + throw; } finally { @@ -906,9 +918,10 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { + logger.Error($"异步下载JSON数据失败 - 事件时间:{gier.EventTime}, 保存路径:{savePath}", ex); // 异常处理代码 Console.WriteLine($"DownloadDataAsync error: {ex.StackTrace}"); - throw ex; + throw; } finally { @@ -975,9 +988,10 @@ namespace Txgy.EWS.Client.DAL catch (Exception ex) { _semaphore.Release(); + logger.Error($"查询和下载数据失败 - 事件ID:{eventID}, 截止时间:{endTime}, 保存路径:{savePath}", ex); // 异常处理代码 Console.WriteLine($"QueryAndDownloadDataAsync error: {ex.StackTrace}"); - throw ex; + throw; } } @@ -1043,9 +1057,10 @@ namespace Txgy.EWS.Client.DAL catch (Exception ex) { _semaphore.Release(); + logger.Error($"按ID查询和下载数据失败 - 事件ID:{eventID}, 保存路径:{savePath}", ex); // 异常处理代码 Console.WriteLine($"QueryAndDownloadDataAsync error: {ex.StackTrace}"); - throw ex; + throw; } } public async Task QueryEventByIDAsync(int eventID, string savePath, Action callback) @@ -1110,9 +1125,10 @@ namespace Txgy.EWS.Client.DAL catch (Exception ex) { _semaphore.Release(); + logger.Error($"按ID查询事件失败 - 事件ID:{eventID}, 保存路径:{savePath}", ex); // 异常处理代码 Console.WriteLine($"QueryAndDownloadDataAsync error: {ex.StackTrace}"); - throw ex; + throw; } } public List GetLastEvents(int lastEventID) @@ -1205,7 +1221,8 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { - throw ex; + logger.Error($"获取最新事件失败 - 数量:{QueryCount}", ex); + throw; } finally { @@ -1261,8 +1278,8 @@ namespace Txgy.EWS.Client.DAL } catch (Exception ex) { - //messagebox.show - throw ex; + logger.Error($"获取网格事件失败 - 开始时间:{startTime}, 结束时间:{endTime}, minML:{minML}, maxML:{maxML}", ex); + throw; } finally { diff --git a/Txgy.EWS.Client.Log/log4net.config b/Txgy.EWS.Client.Log/log4net.config index 8181178..8a3766a 100644 --- a/Txgy.EWS.Client.Log/log4net.config +++ b/Txgy.EWS.Client.Log/log4net.config @@ -34,8 +34,10 @@ @@ -62,8 +64,7 @@ - - +