架构师必看!操作日志系统搭建秘技
在Java开发中,我们经常会遇到一个棘手的问题:记录用户的操作行为。 某些操作是相对简单的,我们可以逐条记录。但是某些操作行为却很难记录,例如编辑操作。在某一次操作中,用户可能编辑了对象A的几个属性,而下一次操作中用户可能编辑了对象B的几个属性。如果我们针对对象A、对象B的属性变化分别进行记录,则整个操作十分复杂。而且,会与业务操作高度耦合。 而今天我们介绍的是一个叫ObjectLogger的系统,它是一个强大且易用的Java对象日志记录系统,能够分析任何对象的属性变化,实现对象变化的记录与查询。 因此,它可以应用在用户操作日志记录、对象属性变更记录等诸多场景中。简单易用,实为利器。 基于它,我们可以很方便地实现下面的效果。 该系统为github开源项目,地址为:https://github.com/yeecode/ObjectLogger 下面我们简单介绍下该系统。基于它,我们可以非常方便地搭建一套日志记录系统。 1 系统特点 该系统具有以下特点:
2 快速上手 2.1 创建数据库 使用该项目的/server/database/init_data_table.sql文件初始化两个数据表。 2.2 启动Server 下载该项目下最新的Server服务jar包,地址为/server/target/ObjectLogger-*.jar。 启动下载的jar包。 java -jar ObjectLogger-*.jar --spring.datasource.driver-class-name={db_driver} --spring.datasource.url=jdbc:{db}://{db_address}/{db_name} --spring.datasource.username={db_username} --spring.datasource.password={db_password} 上述命令中的用户配置项说明如下:
启动jar包后,系统默认的服务地址为: http://127.0.0.1:8080/ObjectLogger/ 访问上述地址可以看到下面的欢迎界面: 至此,ObjectLogger系统已经搭建结束,可以接受业务系统的日志写入和查询操作。 3 业务系统接入 该部分讲解如何配置业务系统来将业务系统中的对象变化记录到ObjectLogger中。 3.1 引入依赖包 在pom中增加下面的依赖:
3.2 添加对ObjectLoggerClient中bean的自动注入 3.2.1 对于SpringBoot应用 在SpringBoot的启动类前添加@ComponentScan注解,并在basePackages中增加ObjectLoggerClient的包地址:com.github.yeecode.objectLoggerClient,如:
3.2.2 对于Spring应用 在applicationContext.xml增加对ObjectLoggerClient包地址的扫描:
3.3 完成配置 在application.properties中增加:
至此,业务系统的配置完成。已经实现了和ObjectLogger的Server端的对接。 4 日志查询 (编辑:ASP站长网) |