/// <summary> /// 写错误日志 /// </summary> /// <param name="msg">消息</param> /// <param name="Ex">异常信息</param> public static void WriteLog(string msg, Exception Ex) { ErrorsData Log = new ErrorsData(); try { if (!System.IO.Directory.Exists(System.Configuration.ConfigurationSettings.AppSettings["ErrorPath"])) { System.IO.Directory.CreateDirectory(System.Configuration.ConfigurationSettings.AppSettings["ErrorPath"]); } if (System.IO.File.Exists(System.Configuration.ConfigurationSettings.AppSettings["ErrorPath"] + "\\Errors.xml")) { Log = ReadLog(); } DataRow row = Log.Tables[0].NewRow(); row[ErrorsData.DESCRIPTION_Field] = msg; row[ErrorsData.DETAIL_Field] = Ex.ToString(); row[ErrorsData.DATE__Field] = DateTime.Now; Log.Tables[0].Rows.Add(row); Log.WriteXml(System.Configuration.ConfigurationSettings.AppSettings["ErrorPath"] + "\\Errors.xml"); } catch { return; } }
public bool ErrorsSet([FromBody] ErrorsData errors) { if (errors.NirsErrors == null || errors.NirsErrors.Length <= 0) { return(false); } FileErrors file = new FileErrors(Request.MapPath("..//data//")); file.Read(); List <FileErrorsItem> items; if (file.ErrorsItems == null) { items = new List <FileErrorsItem>(); } else { items = file.ErrorsItems; } foreach (var elem in errors.NirsErrors) { items.Add(new FileErrorsItem() { Message = elem.Message, NameSource = elem.NameSource, NameSystem = elem.NameSystem, DateError = elem.DateError }); } file.ErrorsItems = items; file.Write(); return(true); }
/// <summary> /// 读取错误日志信息 /// </summary> /// <param name="path">错误日志信息文件</param> /// <returns>错误日志数据实体</returns> public static ErrorsData ReadLog(string path) { try { ErrorsData Log = new ErrorsData(); Log.ReadXml(path, System.Data.XmlReadMode.IgnoreSchema); return(Log); } catch { return(null); } }
//Асинхронная отправка ошибок на сервер private async void SetToServerAsync(string adress) => await Task.Run(() => { using (var client = new HttpClient()) { try { NirsError[] errors = new NirsError[_nirsErrors.Count]; int countr = 0; foreach (var elem in _nirsErrors) { errors[countr++] = new NirsError(elem.NameSource, elem.NameSystem, elem.Message, elem.DateError); } ErrorsData data = new ErrorsData(errors); HttpResponseMessage message2 = client.PostAsJsonAsync(adress + "Server/ErrorsSet", data).Result; } catch (Exception) { return; } } Clear(); });