系统操作日志的实现思路主要问题不在于写日志和表结构设计上。
主要问题在识别出哪些数据做了修改。并生成日志。
表中数据列众多,且要监控多个表。如果要监控的每个表都去写代码去监控和转换这样的工作量就会比较大。
如,用户表【Name,sex,Age】
生成的操作日志是:XX人在XX时间修改了用户的【姓名】修改前:xxx,修改后:xxx,【性别】修改前:XXXX,修改后。操作结果:成功。
我的思路是使用反射,写个通用的比较方法将修改前对象和修改后对象转入,使用反射去比较两个对像的值是否修改,如果修改了将字段的描述名称取出来生成日志。
下面是代码:
/// <summary> /// 用户表 实体 /// </summary> [MfTable("TB_User")] public class TB_UserModel : BaseModel { /// <summary> /// /// </summary> [MfKey] [Description("主键")] public string F_Id { get; set; }/// <summary> /// 真实姓名 /// </summary> [Description("真实姓名")] public string F_RealName { get; set; } /// <summary> /// 性别 /// </summary> [Description("性别")] public int F_Sex { get; set; } /// <summary> /// 手机号 /// </summary> [Description("手机号")] public string F_Phone { get; set; } }
标签:思路,set,Description,get,修改,操作,日志,public From: https://www.cnblogs.com/stevenchen2016/p/17083739.html