Java日志实现思想总结

前言: 日志系统是一种不可或缺的跟踪调试工具,特别是在任何无人职守的后台程序以及那些没有跟踪调试环境的系统中有着广泛的应用。 长期以来, 日志系统作为一种应用程序服务,目的是为了记录操作轨迹、监控系统运行状况、回溯系统故障,在这里总结下我们项目组的大佬的思路。

Java日志大致分为两类

1.传统日志写法

使用log4j或者logback框架对关键代码进行四种级别将日志输出到console窗口、文本文件、数据库等地方,以方便快速出现问题定位到程序出现BUG的地方。

使用 方式:
controller层的日志使用Log打印信息。
service层的日志使用数据库记录操作日志。
在这里插入图片描述

2.Spring的AOP

使用SpringAop的切面对方法进行监控,可以将用户方法执行前后的请求参数,执行异常,返回结果记录到系统日志。,以方便用户操作出现异常的时候找到相应的方法。

对相应的架构层进行监控:
使用五大通知类型对controller层,service层进行统一监控。
在这里插入图片描述

在这里插入图片描述

以上两种方式的有优缺点:
第一种方式:
优点:

  • 对于程序出现的BUG可以精准锁定位置。

缺点:

  • 代码冗余,对关键代码进行监控会出现代码重复使代码冗余。
  • 难扩展,牵一发而动全身,出现问题想改需改很多处。
  • 高耦合,与代码的耦合度高。
  • 服务器宕机之后可能找不到输出的日志

第二种方式:

优点:

  • 低耦合,使用AOP切面思想实现,与代码进行分离 。
  • 扩展高,更改一处就可以修改全部。
  • 数据信息可以进行分类的入库。

缺点:

扫描二维码关注公众号,回复: 15189705 查看本文章
  • 对方法前后监控,无法精确到某个关键点,只能对方法返回进行监控。

总结思路:
对于一个项目来说,日志是重中之重的他的设计思路可以根据业务逻辑和运行环境去判断我们到底使用哪种方式进行,主要要做到出现问题可以快速定位问题所在以及可以做到提前预警通知,对于日志描叙尽量做到详细,以方便用户 去查看出现了什么问题。

ps: AOP可以做到的事情:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44011409/article/details/108098766