/// <summary> /// 错误列表 /// </summary> /// <param name="lError">错误列表</param> /// <param name="mError">错误实体</param> /// <returns>错误列表</returns> public static IList <xt_error> AddError(IList <xt_error> lError, xt_error mError) { mError.Message = mError.Message.Replace("'", ""); string[] pMessage = Regex.Split(mError.Message, "\r\n "); int j = pMessage.Length; for (int i = 0; i < j; i++) { xt_error pError = new xt_error(); pError.Application = mError.Application; pError.Message = pMessage[i]; lError.Add(pError); } return(lError); }
/// <summary> /// 记录到数据库 /// </summary> /// <param name="exc">错误消息</param> /// <param name="source">错误源</param> public static void DatabaseException(Exception exc, string source) { xt_error mError = new xt_error(); IList <xt_error> lError = new List <xt_error>(); mError.Application = source; mError.Message = "****" + DateTime.Now.ToString() + "****"; lError = AddError(lError, mError); if (exc.InnerException != null) { mError.Message = "Inner Exception Type: " + exc.InnerException.GetType().ToString(); lError = AddError(lError, mError); mError.Message = "Inner Exception: " + exc.InnerException.Message; lError = AddError(lError, mError); mError.Message = "Inner Source: " + exc.InnerException.Source; lError = AddError(lError, mError); if (exc.InnerException.StackTrace != null) { mError.Message = "Inner Stack Trace: " + exc.InnerException.StackTrace; lError = AddError(lError, mError); } } mError.Message = "Exception Type: " + exc.GetType().ToString(); lError = AddError(lError, mError); mError.Message = "Exception: " + exc.Message; lError = AddError(lError, mError); mError.Message = "Source: " + source; lError = AddError(lError, mError); if (exc.StackTrace != null) { mError.Message = "Stack Trace: " + exc.StackTrace; lError = AddError(lError, mError); } BLL_XT_Error bError = new BLL_XT_Error(); bError.SaveError(lError); }