private void frmKanbanMDR_Activated(object sender, EventArgs e) { if (this.Tag is SystemMenuInfoButtonStyle) { menuInfo = this.Tag as SystemMenuInfoButtonStyle; GetEvents(); if (autoSwtich) { if (this.events.Count > 0) { timer.Interval = this.nextFunction.WaitForSeconds * 1000; } else { timer.Interval = 1000; } } else { timer.Interval = 60000; } timer.Enabled = true; } else { AppOperationLog log = new AppOperationLog(DateTime.Now, -1, "没有正确的传入菜单参数!"); AddLog(log); timer.Enabled = false; return; } }
/// <summary> /// 添加信息,以便显示 /// </summary> /// <param name="message"></param> public void AddLog(AppOperationLog message) { if (errorLogs.Count >= 50) { errorLogs.RemoveRange(errorLogs.Count - 1, 1); } errorLogs.Insert(0, message); }
private void ShowAndonStatusWithProductionLine() { string strProcedureName = string.Format( "{0}.{1}", className, MethodBase.GetCurrentMethod().Name); WriteLog.Instance.WriteBeginSplitter(strProcedureName); try { List <ProductionSurveillance> lines = null; try { lines = GetAllPrdtLinesAndonStatus(); pdtLines.Clear(); AndonProductionLineStatus pdtLine = null; foreach (ProductionSurveillance lineEventStatus in lines) { if (pdtLine == null || pdtLine.T134LeafID != lineEventStatus.LeafID) { pdtLine = new AndonProductionLineStatus() { NodeID = lineEventStatus.T134NodeID, NodeName = lineEventStatus.T134NodeName, T134LeafID = lineEventStatus.LeafID, T134NodeName = lineEventStatus.NodeName, }; pdtLines.Add(pdtLine); } switch (lineEventStatus.T179Code) { case "M": if (lineEventStatus.ResourceStatus == 0) { grdbndMaterial.Visible = false; } else { grdbndMaterial.Visible = true; pdtLine.MaterialStatus = lineEventStatus.ResourceStatus; pdtLine.MaterialTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.MaterialResponded = lineEventStatus.OnSiteResponded; } break; case "R": if (lineEventStatus.ResourceStatus == 0) { grdbndEquipment.Visible = false; } else { grdbndEquipment.Visible = true; pdtLine.EquipmentStatus = lineEventStatus.ResourceStatus; pdtLine.EquipmentTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.EquipmentResponded = lineEventStatus.OnSiteResponded; } break; case "Q": if (lineEventStatus.ResourceStatus == 0) { grdbndQuality.Visible = false; } else { grdbndQuality.Visible = true; pdtLine.QualifyStatus = lineEventStatus.ResourceStatus; pdtLine.QualifyTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.QualifyResponded = lineEventStatus.OnSiteResponded; } break; case "O": if (lineEventStatus.ResourceStatus == 0) { grdbndOther.Visible = false; } else { grdbndOther.Visible = true; pdtLine.OtherStatus = lineEventStatus.ResourceStatus; pdtLine.OtherTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.OtherResponded = lineEventStatus.OnSiteResponded; } break; case "S": if (lineEventStatus.ResourceStatus == 0) { grdbndSafety.Visible = false; } else { grdbndSafety.Visible = true; pdtLine.SecurityStatus = lineEventStatus.ResourceStatus; pdtLine.SecurityTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.SecurityResponded = lineEventStatus.OnSiteResponded; } break; case "T": if (lineEventStatus.ResourceStatus == 0) { grdbndTooling.Visible = false; } else { grdbndTooling.Visible = true; pdtLine.ToolingStatus = lineEventStatus.ResourceStatus; pdtLine.ToolingTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.ToolingResponded = lineEventStatus.OnSiteResponded; } break; case "D": if (lineEventStatus.ResourceStatus == 0) { grdbndDesign.Visible = false; } else { grdbndDesign.Visible = true; pdtLine.DesignStatus = lineEventStatus.ResourceStatus; pdtLine.DesignTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.DesignResponded = lineEventStatus.OnSiteResponded; } break; case "X": if (lineEventStatus.ResourceStatus == 0) { grdbndTechnology.Visible = false; } else { grdbndTechnology.Visible = true; pdtLine.TechnologyStatus = lineEventStatus.ResourceStatus; pdtLine.TechnologyTimeElapsed = lineEventStatus.ElapsedSeconds; pdtLine.TechnologyResponded = lineEventStatus.OnSiteResponded; } break; } } ShowProductionLineStatus(); SetConnectionStatus(true); } catch (Exception error) { WriteLog.Instance.Write(error.Message, strProcedureName); SetConnectionStatus(false); AppOperationLog log = new AppOperationLog() { Time = DateTime.Now, ErrCode = -1, ErrText = error.Message, }; AddLog(log); } frmKanbanPS_Resize(this, null); } finally { WriteLog.Instance.WriteEndSplitter(strProcedureName); } }
/// <summary> /// 日志监控 /// </summary> /// <param name="inparm">w未加密入参</param> /// <param name="outparm">输出参数</param> protected void ApiLog_Moni(object inparm = null, ResponseModel outparm = null) { //请求地址 string request_address = Request.Scheme + "://" + Request.Host.Value + Request.Path; //接口地址 string inte_address = Request.Path; //获取客户端请求IP string ip = ipaddress; //请求端口 string port = Request.Host.Port.ToString(); //接口名 string inte_name = Request.Path; try { var inparmstr = ""; if (inparm != null) { inparmstr = inparm.ToJson(); } var outparmstr = ""; if (outparm != null) { outparmstr = outparm.ToJson(); } //用户类型 int usertype = 3; if (loginUser != null) { usertype = loginUser.usertype; } //请求耗时 毫秒 decimal ts = Convert.ToDecimal((DateTime.Now - begintime).TotalMilliseconds); //文件上传不记录上传内容 AppOperationLog logInt = new AppOperationLog() { 创建时间 = DateTime.Now, 失败原因 = outparm.msg, 数据标识 = 1, 来源方式 = 1, 设备id = requestHeader.deviceid, 请求ip = ip, 请求参数 = inparmstr, 请求地址 = inte_name, 请求接口 = inte_name, 请求时间 = DateTime.Now, 请求模块 = inte_name, 请求状态 = outparm.code, 身份类型 = usertype, 输出信息 = outparmstr, 请求耗时 = ts }; Logger.Instance.Info("请求信息》\r\n" + logInt.ToJson()); this.Add <AppOperationLog>(logInt).Execute(); // PApi.LogInset(logInt); logInt = null;//释放资源 } catch (Exception ex) { Logger.Instance.Error("记录接口请求日志发生异常", ex); } }