public void OnActionExecuting(ActionExecutingContext context) { var request = context.HttpContext.Request; var ipAddress = IpHostInfo.AddressList.Where(a => a.AddressFamily == AddressFamily.InterNetwork) .Select(address => address.ToString()) .FirstOrDefault(); var operationLogModel = new OperationLogModel { IpAddress = ipAddress, RequestedController = (string)context.RouteData.Values["controller"], RequestedAction = (string)context.RouteData.Values["action"], RequestMethod = request.Method, RequestPath = request.Path.ToString(), OperationDate = DateTime.Now }; this.RedisManager.Set(new CacheModel { Model = operationLogModel, Key = operationLogModel.CacheKey, Renewable = false }); }
/// <summary> /// 插入操作日志 /// </summary> /// <param name="operationLogInfo"></param> /// <returns></returns> public int PostData(OperationLogModel operationLogInfo) { return(1); /* * try * { * int result; * string operatorVal = "机器端"; * if (HttpContextHandler.GetHeaderObj("UserAccount") != null) * { * operatorVal = HttpContextHandler.GetHeaderObj("UserAccount").ToString(); * } * operationLogInfo.Operator = operatorVal; * operationLogInfo.OptDate = DateTime.Now; * result = GenerateDal.Create(operationLogInfo); * return result; * } * catch (Exception e) * { * return 0; * } */ }
/// <summary> /// 记录系统日志 /// </summary> public int RecordLog(OperationLogModel model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into operationlog("); strSql.Append("typeID,userID,ipAddress,opTime,details)"); strSql.Append(" values ("); strSql.Append("@typeID,@userID,@ipAddress,@opTime,@details)"); MySqlParameter[] parameters = { new MySqlParameter("@typeID", MySqlDbType.Int32, 10), new MySqlParameter("@userID", MySqlDbType.Int32, 10), new MySqlParameter("@ipAddress", MySqlDbType.VarChar, 30), new MySqlParameter("@opTime", MySqlDbType.DateTime), new MySqlParameter("@details", MySqlDbType.VarChar, 2000) }; parameters[0].Value = model.typeID; parameters[1].Value = model.userID; parameters[2].Value = model.ipAddress; parameters[3].Value = model.opTime; parameters[4].Value = model.details; return(MySQLHelper.ExecuteNonQuery(strSql.ToString(), parameters)); }
/// <summary> /// 记录日志 /// </summary> public int RecordLog(OperationLogModel model) { return(opl_dal.RecordLog(model)); }