/// <summary> /// 根据module 枚举获取模块名称 /// </summary> /// <param name="module"></param> /// <returns></returns> public static string GetModuleName(OperLogModule module) { var moduleName = "预约管理"; switch (module) { case OperLogModule.Reservation: break; case OperLogModule.BlockEntity: moduleName = "黑名单管理"; break; case OperLogModule.Notice: moduleName = "公告管理"; break; case OperLogModule.Account: moduleName = "账户管理"; break; case OperLogModule.Settings: moduleName = "设置管理"; break; case OperLogModule.ReservationPlace: moduleName = "活动室管理"; break; case OperLogModule.DisabledPeriod: moduleName = "禁用时间段管理"; break; case OperLogModule.Wechat: moduleName = "微信"; break; default: break; } return(moduleName); }
/// <summary> /// 添加操作日志 /// </summary> /// <param name="logContent">日志内容</param> /// <param name="logModule">日志模块</param> /// <param name="operBy">操作人</param> /// <returns>是否添加成功</returns> public bool AddOperLog(string logContent, OperLogModule logModule, string operBy) { var httpContext = _httpContextAccessor.HttpContext; var logEvent = new OperationLogEvent { LogContent = logContent, Module = logModule, IpAddress = httpContext.GetUserIP(), OperBy = operBy ?? httpContext.User.Identity.Name, }; try { return(_eventBus.Publish(logEvent)); } catch (Exception e) { _logger.LogError(e, $"publish OperationLogEvent failed, logDetails: {logEvent.ToJson()}"); return(false); } }
/// <summary> /// 添加操作日志 /// </summary> /// <param name="logContent">日志内容</param> /// <param name="logModule">日志模块</param> /// <param name="operBy">操作人</param> /// <returns>是否添加成功</returns> public bool AddOperLog(string logContent, OperLogModule logModule, string operBy) => AddOperLog(logContent, logModule.GetDescription(), operBy);
/// <summary> /// 添加操作日志 /// </summary> /// <param name="logContent">日志内容</param> /// <param name="logModule">日志模块</param> /// <returns>是否添加成功</returns> public bool AddOperLog(string logContent, OperLogModule logModule) => AddOperLog(logContent, logModule, null);
/// <summary> /// 添加操作日志 /// </summary> /// <param name="logContent">日志内容</param> /// <param name="logModule">日志模块</param> /// <param name="operBy">操作人</param> /// <returns>是否添加成功</returns> public static bool AddOperLog(string logContent, OperLogModule logModule, string operBy) => AddOperLog(logContent, GetModuleName(logModule), operBy);