/// <summary> /// 写异常 /// </summary> /// <param name="m"></param> /// <param name="dtype"></param> private static async Task SyLogError_Add(SyLogErrorAdd m, int dtype) { await Task.Run(() => { try { using (var db = new fz_bigdataEntities()) { db.log_error.Add(new log_error { Id = Guid.NewGuid().ToString(), Type = dtype, ControllerName = m.ControllerName, ActionName = m.ActionName, HttpMethod = m.HttpMethod, Url = m.Url, Message = m.Message, CreateIp = m.CreateIp, CreateUserId = m.CreateUserId, CreateUserName = m.CreateUserName, CreateAccount = m.CreateAccount, CreateTime = DateTime.Now }); db.SaveChanges(); } } catch (Exception e) { LogHelper.WriteLog(string.Format("{0}", DateTime.Now), e); } }); }
/// <summary> /// 写数据库 /// </summary> /// <param name="e"></param> private void WriteDatabase(ExceptionContext filterContext) { string controllerName = filterContext.RouteData.Values["controller"].ToString(); string actionName = filterContext.RouteData.Values["action"].ToString(); string httpMethod = filterContext.HttpContext.Request.HttpMethod; SyLogErrorAdd data = new SyLogErrorAdd(); data.ControllerName = controllerName; data.ActionName = actionName; data.HttpMethod = httpMethod; data.Url = filterContext.HttpContext.Request.FilePath; data.Message = filterContext.Exception.Message; data.CreateIp = Common.Function.GetIp(filterContext.HttpContext.Request); data.CreateTime = DateTime.Now; if (filterContext.HttpContext.Session["UserInfo"] != null) { VModel.SyPassport.UserInfo user = filterContext.HttpContext.Session["UserInfo"] as VModel.SyPassport.UserInfo; if (user != null) { data.CreateUserId = user.Id; data.CreateUserName = user.Name; data.CreateAccount = user.Account; } } BigdataBll.SyLogErrorWeb_Add(data); }
/// <summary> /// 写数据库 /// </summary> /// <param name="e"></param> private void WriteDatabase(HttpActionExecutedContext filterContext) { System.Web.HttpContextWrapper context = ((System.Web.HttpContextWrapper)filterContext.Request.Properties["MS_HttpContext"]); string controllerName = filterContext.ActionContext.ControllerContext.ControllerDescriptor.ControllerName; string actionName = filterContext.ActionContext.ActionDescriptor.ActionName; string httpMethod = filterContext.Request.Method.ToString(); SyLogErrorAdd data = new SyLogErrorAdd(); data.ControllerName = controllerName; data.ActionName = actionName; data.HttpMethod = httpMethod; data.Url = filterContext.Request.RequestUri.ToString(); data.Message = filterContext.Exception.Message; data.CreateIp = Common.Function.GetIp(context.Request); data.CreateTime = DateTime.Now; BigdataBll.SyLogErrorApi_Add(data); }
/// <summary> /// 写异常 /// </summary> /// <param name="m"></param> public static void SyLogErrorApi_Add(SyLogErrorAdd m) { Task excetion = SyLogError_Add(m, 2); }
/// <summary> /// 写异常 /// </summary> /// <param name="m"></param> public static void SyLogErrorWeb_Add(SyLogErrorAdd m) { Task excetion = SyLogError_Add(m, 1); }