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

日志模块

目录
  • 日志模块
    • 1、关于记录用户操作日志的几个认知
    • 2、关于日志的几个认知
    • 3、设计
    • 4、例子
      • 后端维护日志同一性
      • 前端维护日志同一性

日志模块

1、关于记录用户操作日志的几个认知

(1)日志记录内容的设计,应方便后续查询、统计以及日志可视化等,因此可能跨页面、跨接口记录同一日志。
(2)由于是用户操作日志,所以只能由前端触发日志记录。
(3)由前端判断日志的同一性,即哪些操作属于同一条日志的应记录内容,哪些操作需要新建一条日志。

例如,若查询获取结果并记录日志之后,将对该查询结果的导出、打印等视为同一条日志的记录内容(记录是否导出、是否打印),则用户未导出、打印,又重新查询,就需要新建一条日志。或多开页面查询相同条件,就记录多条日志。

  • 后端提供接口前端调用时,尽量不交流额外的信息。例如,若由后端判断日志的同一性,则后端需要返回查询结果的标识码,并持续跟踪这个标识码,则可能干扰业务代码(去update旧日志)。前后端传递过多与查询业务无关的参数,不利于代码维护(一个接口干了的活多了)。
  • 由前端判断日志的同一性,可方便跨页面、跨接口记录同一日志内容。

(4)为减少请求压力,前端可批量上报日志,或在指定时间内无新日志产生时再上报日志。
(5)区分其他类型的日志,例如,用户登录日志,后端错误日志。这类日志不存在跨页面、跨接口,直接记录即可。

2、关于日志的几个认知

(1)日志完整性:包含 “谁 - 何时 - 何地 - 做了什么 - 结果如何” 核心要素。
(2)应方便后续查询、统计以及日志可视化等。
(3)性能优先,避免阻塞;
(4)可扩展性:支持后续新增操作类型、扩展日志字段;
(5)安全性:敏感数据脱敏(如用户 ID、查询参数中的隐私信息),防止日志泄露。

3、设计

对操作进行分类,并且可扩展操作类型。

(1)日志表的字段:
id,日志编号,生成日志的时间,用户Id,登录ip,日志类型,日志名称,日志内容(存为json)
注:

  • 日志类型:一般就是固定的几类,如登录日志、错误日志、操作日志等。
  • 日志名称:可以是“日志类型”的补充(子类),或是与功能、业务等相关,例如:“进行用户信息查询”。
  • 日志内容:日志名称满足需求时,可以无该字段或不记录日志的内容。存为json,方便前端呈现。

(2)操作类型表的字段
id,名称,显示名称,描述
注:若系统有扩展需求,可对操作进行分类并单独建表。若扩展需求不大,有相应的字典即可。

(3)操作表的字段:
id,日志Id,操作发生的时间,操作类型的名称,是否成功,操作结果内容(存为json)
注:如有必要,前端依据操作类型,使用对应的界面呈现操作结果内容。

4、例子

对每次查询结果进行导出跟踪,并只记录一条记录

后端维护日志同一性

(1)前端发起查询;
(2)后端查询同时记录日志,并返回结果与日志Id;
(2)前端获取查询结果,并记录返回的日志Id;
(3)前端点击导出按钮,请求后端生成excel文件,请求参数携带日志Id;
(4)后端生成excel文件,并提供文件流,同时根据日志Id以更新日志;
(5)前端下载excel文件。

前端维护日志同一性

(1)前端发起查询;
(2)后端查询并返回结果;
(2)前端获取查询结果,并生成日志;
(3)前端点击导出按钮,请求后端生成excel文件;
(4)后端生成excel文件,并提供文件流;
(5)前端下载excel文件,更新日志;
(6)前端上传/批量上传日志,或定时触发上传/批量上传日志。

http://www.jsqmd.com/news/36587/

相关文章:

  • 2025年图书馆书架定制生产厂家权威推荐榜单:儿童书架/学生书架/密集书架源头厂家精选
  • P10581 [蓝桥杯 2024 国 A] 重复的串 题解
  • AQS 是什么?
  • 2025年军训服定制厂家权威推荐榜单:幼儿园服/迷彩服/校服源头厂家精选
  • 神级项目,Github 上线封神,BettaFish你不可忽视的多Agent舆情分析神器~~~
  • 2025年湖南工商注册公司权威推荐榜单:工商注册流程变更/记账报税服务/代理记账财务源头机构精选
  • 完整教程:每日一个网络知识点:网络层ARP和RARP
  • MyEMS:赋能能源精细化管理的智慧引擎
  • nginx详细配置
  • 2025年新型建筑木方源头厂家综合实力榜单:建筑施工模板/覆膜建筑模板/清水覆膜板生产厂家精选
  • 我开源了一款基于unicloud + uniapp 开发的云端一体小程序:停车寻车助手 - 安雁
  • 污点和容忍度
  • 开源能源管理系统:解锁当下能源困局的关键力量
  • 2025年负极石墨粉超微碎机定制厂家权威推荐榜单:负极材料磨粉机/脱硫脱硝小苏打粉碎机/钴酸锂气流粉碎机源头厂家精选
  • 天气和预报
  • 2025年11月适合小学生的学习机品牌评测榜:十强性能口碑全面对比
  • 对GitHub的了解和使用
  • 详细介绍:五点法求解相机的相对位姿
  • Gitee:打造本土化技术生态,驱动中国数字化变革新引擎
  • 2025年11月学习机品牌推荐:权威排行揭示清北双师与AI精准学差异
  • 2025年卫生应急服生产厂家综合实力榜单:卫生应急藏青无领T恤/黑色立领外套/纯棉黑T恤源头厂家精选
  • 2025年11月学习机品牌推荐:家长口碑榜对比十强同步教材与护眼方案
  • python: 一些ModuleNotFoundError报错的解决
  • 2025年11月学习机品牌对比榜:销量数据与用户口碑双重验证
  • 2025年11月学习机品牌推荐:销量排行榜聚焦双师1对1与同步课标
  • Linux crond - Lafite
  • python报错:ModuleNotFoundError: No module named _sqlite3
  • 2025年11月智能学习机品牌推荐:新课标适配榜与护眼实力评测
  • 鸿蒙应用开发实战:应用数据备份恢复
  • 2025/11/7