From 350b1f37a2586936a90e046cc41b389af3b19fdf Mon Sep 17 00:00:00 2001 From: dathlin Date: Tue, 27 Jun 2017 15:08:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=9C=AA=E7=9F=A5?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=B0=86=E5=8F=91=E9=80=81=E5=88=B0=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=99=A8=E8=AE=B0=E5=BD=95=EF=BC=8C=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=99=A8=E6=96=B0=E5=A2=9E=E5=AE=A2=E6=88=B7=E7=AB=AF=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E8=AE=B0=E5=BD=95=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CommonLibrary/HeadCode.cs | 3 +++ 软件系统客户端模版/FormLog.Designer.cs | 36 ++++++++++++++++++++++++++ 软件系统客户端模版/FormLog.cs | 12 ++++++++- 软件系统客户端模版/Program.cs | 17 +++++++++++- 软件系统服务端模版/FormServerWindow.cs | 32 +++++++++++++++++++++++ 5 files changed, 98 insertions(+), 2 deletions(-) diff --git a/CommonLibrary/HeadCode.cs b/CommonLibrary/HeadCode.cs index 9caec24..27ad3e2 100644 --- a/CommonLibrary/HeadCode.cs +++ b/CommonLibrary/HeadCode.cs @@ -53,6 +53,7 @@ namespace CommonLibrary public static int 请求文件 { get; } = 10010; public static int 意见反馈 { get; } = 10011; public static int 群发消息 { get; } = 10012; + public static int 异常消息 { get; } = 10013; @@ -79,6 +80,8 @@ namespace CommonLibrary public static int 反馈日志清空 { get; } = 11011; public static int UDP日志查看 { get; } = 11012; public static int UDP日志清空 { get; } = 11013; + public static int 客户端日志查看 { get; } = 11014; + public static int 客户端日志清空 { get; } = 11015; /************************************************************************************** * diff --git a/软件系统客户端模版/FormLog.Designer.cs b/软件系统客户端模版/FormLog.Designer.cs index d6f3c51..2a5b604 100644 --- a/软件系统客户端模版/FormLog.Designer.cs +++ b/软件系统客户端模版/FormLog.Designer.cs @@ -50,6 +50,8 @@ namespace 软件系统客户端模版 this.userButton11 = new HslCommunication.Controls.UserButton(); this.userButton12 = new HslCommunication.Controls.UserButton(); this.userButton13 = new HslCommunication.Controls.UserButton(); + this.userButton14 = new HslCommunication.Controls.UserButton(); + this.userButton15 = new HslCommunication.Controls.UserButton(); this.SuspendLayout(); // // textBox1 @@ -349,11 +351,43 @@ namespace 软件系统客户端模版 this.userButton13.UIText = "Udp日志查看"; this.userButton13.Click += new System.EventHandler(this.userButton13_Click); // + // userButton14 + // + this.userButton14.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.userButton14.BackColor = System.Drawing.Color.Transparent; + this.userButton14.CustomerInformation = ""; + this.userButton14.EnableColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); + this.userButton14.Font = new System.Drawing.Font("微软雅黑", 9F); + this.userButton14.Location = new System.Drawing.Point(626, 300); + this.userButton14.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.userButton14.Name = "userButton14"; + this.userButton14.Size = new System.Drawing.Size(103, 26); + this.userButton14.TabIndex = 25; + this.userButton14.UIText = "客户端日志查看"; + this.userButton14.Click += new System.EventHandler(this.userButton14_Click); + // + // userButton15 + // + this.userButton15.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.userButton15.BackColor = System.Drawing.Color.Transparent; + this.userButton15.CustomerInformation = ""; + this.userButton15.EnableColor = System.Drawing.Color.FromArgb(((int)(((byte)(190)))), ((int)(((byte)(190)))), ((int)(((byte)(190))))); + this.userButton15.Font = new System.Drawing.Font("微软雅黑", 9F); + this.userButton15.Location = new System.Drawing.Point(734, 300); + this.userButton15.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.userButton15.Name = "userButton15"; + this.userButton15.Size = new System.Drawing.Size(103, 26); + this.userButton15.TabIndex = 26; + this.userButton15.UIText = "客户端日志清空"; + this.userButton15.Click += new System.EventHandler(this.userButton15_Click); + // // FormLog // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(849, 547); + this.Controls.Add(this.userButton15); + this.Controls.Add(this.userButton14); this.Controls.Add(this.userButton12); this.Controls.Add(this.userButton13); this.Controls.Add(this.userButton10); @@ -407,5 +441,7 @@ namespace 软件系统客户端模版 private UserButton userButton11; private UserButton userButton12; private UserButton userButton13; + private UserButton userButton14; + private UserButton userButton15; } } \ No newline at end of file diff --git a/软件系统客户端模版/FormLog.cs b/软件系统客户端模版/FormLog.cs index a0fba72..f981ffa 100644 --- a/软件系统客户端模版/FormLog.cs +++ b/软件系统客户端模版/FormLog.cs @@ -116,6 +116,17 @@ namespace 软件系统客户端模版 } + private void userButton14_Click(object sender, EventArgs e) + { + ReadFromServer(CommonHeadCode.SimplifyHeadCode.客户端日志查看); + } + + private void userButton15_Click(object sender, EventArgs e) + { + ClearFromServer(CommonHeadCode.SimplifyHeadCode.客户端日志清空); + } + + /// /// 查询日志的缓存 /// @@ -162,6 +173,5 @@ namespace 软件系统客户端模版 textBox1.Text = LogTemp; } - } } diff --git a/软件系统客户端模版/Program.cs b/软件系统客户端模版/Program.cs index fb80dbd..94ab61f 100644 --- a/软件系统客户端模版/Program.cs +++ b/软件系统客户端模版/Program.cs @@ -19,7 +19,8 @@ namespace 软件系统客户端模版 [STAThread] static void Main() { - + //捕获未处理的异常 + AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; //===================================================================== //为了强制只启动一个应用程序的实例 @@ -64,6 +65,20 @@ namespace 软件系统客户端模版 } } + private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) + { + if(e.ExceptionObject is Exception ex) + { + //使用UDP方法传送会服务器 + string info = $"{Environment.NewLine}信息:{ex.Message}" + + $"{Environment.NewLine}类型:{ex.GetType().ToString()}" + + $"{Environment.NewLine}堆栈:{ex.StackTrace}" + + $"{Environment.NewLine}方法:{ex.TargetSite.Name}" + + $"{Environment.NewLine}" + "=".PadLeft(50, '='); + UserClient.Net_simplify_client.ReadFromServer(CommonLibrary.CommonHeadCode.SimplifyHeadCode.异常消息, info); + } + } + [DllImport("User32.dll")] private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow); diff --git a/软件系统服务端模版/FormServerWindow.cs b/软件系统服务端模版/FormServerWindow.cs index 5007b98..9a9a36e 100644 --- a/软件系统服务端模版/FormServerWindow.cs +++ b/软件系统服务端模版/FormServerWindow.cs @@ -87,6 +87,11 @@ namespace 软件系统服务端模版 { LogSaveFileName = LogSavePath + @"\advice_log.txt", }; + //初始化客户端异常日志工具 + ClientsLogHelper = new SoftLogHelper() + { + LogSaveFileName = LogSavePath + @"\clients_log.txt", + }; //保存路径初始化 UserServer.ServerSettings.FileSavePath = Application.StartupPath + @"\settings.txt"; //加载参数 @@ -467,6 +472,13 @@ namespace 软件系统服务端模版 net_socket_server.SendAllClients(CommonHeadCode.MultiNetHeadCode.弹窗新消息, data); net_simplify_server.SendMessage(state, customer, "成功"); } + else if (customer == CommonHeadCode.SimplifyHeadCode.异常消息) + { + ClientsLogHelper.SaveError(data); + net_simplify_server.SendMessage(state, customer, "成功"); + //如果需要发送您自己的邮件,请取消下面的注释并替代您的邮箱地址 + //SoftMail.MailSystem163.SendMail("hsl200909@163.com", "异常记录", "时间:" + DateTime.Now.ToString("O") + Environment.NewLine + data); + } else { net_simplify_server.SendMessage(state, customer, data); @@ -558,6 +570,17 @@ namespace 软件系统服务端模版 net_simplify_server.SendMessage(state, customer, "成功"); RuntimeLogHelper.SaveWarnning("UDP日志清空"); } + else if (customer == CommonHeadCode.SimplifyHeadCode.客户端日志查看) + { + net_simplify_server.SendMessage(state, 0, ClientsLogHelper.GetLogText()); + RuntimeLogHelper.SaveInformation("客户端日志查看"); + } + else if (customer == CommonHeadCode.SimplifyHeadCode.客户端日志清空) + { + ClientsLogHelper.ClearLogText(); + net_simplify_server.SendMessage(state, customer, "成功"); + RuntimeLogHelper.SaveWarnning("客户端日志清空"); + } else { net_simplify_server.SendMessage(state, customer, data); @@ -1016,6 +1039,8 @@ namespace 软件系统服务端模版 #endregion + #region 系统日志块 + /********************************************************************************************************* * @@ -1031,5 +1056,12 @@ namespace 软件系统服务端模版 /// 用来记录一般的事物日志 /// private SoftLogHelper RuntimeLogHelper { get; set; } + /// + /// 用来记录客户端的异常日志 + /// + private SoftLogHelper ClientsLogHelper { get; set; } + + + #endregion } }