当前位置:网站首页 > 编程语言 > 正文

上一章返回目录(一章返回目录设置夜间)



在这里插入图片描述

操作日志是对系统或应用程序中所有用户操作、系统事件、后台任务等进行详细记录的文本文件或数据库条目。它是系统运行过程中的“黑匣子”,详尽地记载了每一次交互、每一次状态变更以及每一次异常情况。在数字化时代,操作日志的作用与重要性不容忽视,主要体现在以下几个方面:

  • 当系统出现故障或异常行为时,操作日志是首要的诊断工具。通过查阅相关时间段的日志记录,工程师可以快速定位到问题发生的精确时间点、涉及的功能模块以及可能触发问题的操作步骤,大大缩短了故障排查的时间,提高了问题解决效率。日志中的错误代码、异常堆栈信息等详细数据,更是为精准定位问题根源提供了关键线索
  • :对于许多行业(如金融、医疗、政府等),法律法规往往要求对关键业务操作进行详细的记录和长期保存,以满足审计需求和合规性监管。操作日志能够完整记录用户的操作行为、操作时间、操作结果等信息,确保了业务流程的透明度和可追溯性。在发生争议或安全事件时,操作日志可以作为重要的证据材料,帮助厘清责任归属,保障各方权益
  • :操作日志不仅记录错误和异常,也包含系统正常运行时的各项指标和状态变化。通过对日志数据进行深度分析,可以揭示系统的性能瓶颈、资源使用情况、用户访问模式等信息,为系统优化提供数据支持。例如,通过分析请求响应时间、并发量等指标,可以发现并优化慢查询、资源争抢等问题,提升系统整体性能
  • :在网络安全领域,操作日志是实时监控系统安全状态、及时发现并响应潜在威胁的重要手段。通过对登录尝试、权限变更、敏感数据访问等操作的记录与分析,可以及时发现异常行为,如暴力激活成功教程、未授权访问、数据泄露等安全事件,从而启动应急预案,防止或减轻损失
  • :对于业务运营人员而言,操作日志中蕴含的用户行为数据是了解产品使用情况、用户偏好、功能受欢迎程度等关键信息的重要来源。通过对日志进行统计分析和数据挖掘,可以得出诸如活跃用户数、功能使用频率、转化率等业务指标,为产品优化、市场策略制定提供数据驱动的决策支持

定义注解,将注解添加到需要记录日志的方法上,当方法执行完成或者抛异常后,通过AOP获取方法的参数、响应等信息记录到数据库中。

 
  

业务类型枚举

 
  

操作人员类型枚举

 
  

这个类是一个使用 Spring AOP(面向切面编程)技术实现的操作日志记录处理器。

  • 当应用中某个方法执行前后(成功返回或抛出异常)触发相应的通知方法(doAfterReturning 和 doAfterThrowing),这两个方法都会调用通用的日志处理方法 handleLog。
  • handleLog 方法负责收集日志所需的各种信息,如请求方法、URL、IP 地址、地理位置、用户身份(从 JWT 令牌中解析)、企业及门店信息、操作状态(成功或异常)、异常消息(如果有)等。
  • 收集到的日志信息封装在 OperationLogEntity 对象中,然后调用 OperationLogService 的 save 方法将日志数据持久化到数据库。
 
  

注:isFilterObject 方法的作用是判断给定的 Object 是否属于需要在操作日志记录过程中进行过滤的类型。也就是说,如果一个对象通过了这个方法的检查,那么在生成操作日志时,不应将其具体内容包含在日志记录中。该方法主要服务于日志记录的精细化控制,避免某些特定类型或敏感信息被无差别地写入日志,可能造成日志冗余

  • MultipartFile:代表上传的文件对象,通常包含文件内容等大量二进制数据,不适合记录在日志中
  • HttpServletRequest、HttpServletResponse:分别代表 HTTP 请求和响应对象,它们通常包含大量的请求/响应头、Cookie、Session 等信息,记录全部内容既没有必要,也可能包含敏感信息
  • BindingResult:Spring MVC 中用于绑定和验证表单数据的结果对象,通常包含详细的验证错误信息,可能不适合全部写入日志

通过在方法上面添加@OperationLog注解,即可为其添加日志记录功能,注意,并不是所有方法都适合做日志记录,例如一些非关键业务的查询方法,都记录反而造成数据库的日志数据较多。应该对一些关键业务做日志记录,例如排班计算(计算出错时方便找到方法参数进行bug修复)、数据增加、数据修改(当数据被错误修改时、可以看到是谁修改的,方便追责和数据修复、数据删除)

 
  
 
  
 
  
 
  

实现类

 
  

只讲日志查询和删除开放给用户

 
  
到此这篇上一章返回目录(一章返回目录设置夜间)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就! 
  

                            

版权声明


相关文章:

  • dos2unix命令的含义(linux dos2unix命令)2026-03-17 22:54:06
  • 苹果手机密码库在哪(苹果密码库如何打开)2026-03-17 22:54:06
  • max30102心率血氧传感器原理图(max30102心率检测模块原理图)2026-03-17 22:54:06
  • c10c700故障码(c102700故障码)2026-03-17 22:54:06
  • 打开安装目录是什么意思(打开安装目录怎么看哪个是安装包)2026-03-17 22:54:06
  • xMouse怎么设置开机启动(xmouse怎么设置键盘)2026-03-17 22:54:06
  • paas平台和saas平台区别(paas,saas,iaas)2026-03-17 22:54:06
  • 回环地址为多少(回环地址什么意思)2026-03-17 22:54:06
  • 域名解析ip地址(域名解析ip地址查询站长之家)2026-03-17 22:54:06
  • k8s 发行版(k8s发行版有哪些)2026-03-17 22:54:06
  • 全屏图片