当前位置: 首页 > news >正文

net core API 后台系统操作日志的实现思路

net core API 后台系统操作日志的实现思路

系统操作日志的实现思路主要问题不在于写日志和表结构设计上。

主要问题在识别出哪些数据做了修改。并生成日志。

表中数据列众多,且要监控多个表。如果要监控的每个表都去写代码去监控和转换这样的工作量就会比较大。

如,用户表【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; }}
Model比较帮助类
ModelComparisonHelper
/// <summary>/// Model比较帮助类/// </summary>public static class ModelComparisonHelp
http://www.lryc.cn/news/324458.html

相关文章:

  • ORACLE 知识整理
  • 业务服务:redisson
  • 面试算法-100-零钱兑换
  • 【Leetcode每日一题】 动态规划 - 使用最小花费爬楼梯(难度⭐)(41)
  • Springboot旅游管理系统设计与实现
  • c++学习笔记(10)
  • Visual Studio - 添加快捷键图标
  • 突破边界:Web3开启数字化社会的新纪元
  • docker仓库登录及配置insecure-registries的方法
  • Lambda函数与Selenium WebDriverWait类一起使用
  • V R元宇宙平台的未来方向|V R主题馆加 盟|游戏体验馆
  • sox命令用法
  • Android kotlin全局悬浮窗全屏功能和锁屏页面全屏悬浮窗功能二
  • [数据结构]二叉树与递归OJ
  • vue iframe实现父页面实时调用子页面方法和内容,已解决
  • Spring Cloud Gateway教程
  • 解码新时代内存架构:探秘数据在内存中的灵动驻足
  • 前端基础篇-前端工程化 Vue 项目开发流程(环境准备、Element 组件库、Vue 路由、项目打包部署)
  • 【通用人工智能AGI元年-各领域的精彩AI/LLM(持续更新)】
  • 【微服务】设计弹性微服务架构模式
  • Websocket + Vue使用
  • AI程序员革命:探析Devin的登场与编程未来
  • vue 控制窗口禁止缩放,已解决
  • 【黑马头条】-day01环境搭建SpringBoot-Cloud-Nacos
  • HTML发展史
  • Java进阶—GC回收(垃圾回收)
  • C++默认构造函数(二)
  • 云原生部署手册02:将本地应用部署至k8s集群
  • AJAX——JSON
  • Nexus3 Docker 私有仓库