/// <summary> /// 动态记录日志 /// </summary> /// <param name="typeName"></param> /// <param name="methodName"></param> /// <param name="dmlParams"></param> public static void LogBOOperate(string typeName, string methodName, params object[] dmlParams) { try { BOLogSettings boLogSettings = BOLogSettings.Instance; if (boLogSettings == null) { return; } BOLog bolog = boLogSettings.BOLogs.GetBOLog(typeName); if (bolog == null) { return; } string[] methods = bolog.Method.Split(','); if (methods.Contains(methodName)) { LoggerBLL.LogUserInfo(UserUtil.GetCurrentUser().PlantCode, bolog.Module, UserUtil.GetCurrentUser().UserID.ToString(), "1", EventLevel.Normal, GetLogXmlContent(dmlParams)); //Log4NetHelper.Instance.LogUserInfo(null, UserUtil.GetCurrentUser().PlantCode, bolog.Module, methodName, UserUtil.GetCurrentUser().UserID.ToString(), "1", EventLevel.Normal, GetLogXmlContent(dmlParams), null); } } catch { } }
public override void OnActionExecuted(ActionExecutedContext filterContext) { if (filterContext.HttpContext.Request.HttpMethod == "POST") { var actionDescriptor = filterContext.ActionDescriptor; string controllerName = actionDescriptor.ControllerDescriptor.ControllerName; string actionName = actionDescriptor.ActionName; string userName = filterContext.HttpContext.User.Identity.Name; string area = filterContext.RouteData.DataTokens["Area"] != null ? filterContext.RouteData.DataTokens["Area"].ToString() : string.Empty; var actionFilterName = new ActionFilterName(); int logType = actionFilterName.GetActionType(actionName); if (logType != 0) { var keys = filterContext.HttpContext.Request.Form.AllKeys; List <string> listData = keys.Select(key => string.Format("{0} = {1}", key, filterContext.HttpContext.Request.Form[key])).ToList(); string data = string.Join(", ", listData); var boLog = new BOLog { UserName = userName, Area = area, Controller = controllerName, Action = actionName, Data = data, Type = logType, CreatedDate = DateTime.Now, Note = string.Empty }; this.Log(boLog); } } }
private void Log(BOLog boLog) { var boLogRepository = new BOLogRepository(new ErpDbContext()); boLogRepository.SaveBOLog(boLog); }