sqlserver大数据表操作慢_架构师必看!操作日志系统搭建秘技
?
在Java開發中,我們經常會遇到一個棘手的問題:記錄用戶的操作行為。
某些操作是相對簡單的,我們可以逐條記錄。但是某些操作行為卻很難記錄,例如編輯操作。在某一次操作中,用戶可能編輯了對象A的幾個屬性,而下一次操作中用戶可能編輯了對象B的幾個屬性。如果我們針對對象A、對象B的屬性變化分別進行記錄,則整個操作十分復雜。而且,會與業務操作高度耦合。
而今天我們介紹的是一個叫ObjectLogger的系統,它是一個強大且易用的Java對象日志記錄系統,能夠分析任何對象的屬性變化,實現對象變化的記錄與查詢。
因此,它可以應用在用戶操作日志記錄、對象屬性變更記錄等諸多場景中。簡單易用,實為利器。
基于它,我們可以很方便地實現下面的效果。
該系統為github開源項目,地址為:https://github.com/yeecode/ObjectLogger
下面我們簡單介紹下該系統。基于它,我們可以非常方便地搭建一套日志記錄系統。
1 系統特點
該系統具有以下特點:
- 一站整合:系統支持日志的記錄與查詢,開發者只需再開發前端界面即可使用。
- 完全獨立:與業務系統無耦合,可插拔使用,不影響主業務流程。
- 應用共享:系統可以同時供多個業務系統使用,互不影響。
- 簡單易用:服務端直接jar包啟動;業務系統有官方Maven插件支持。
- 自動解析:能自動解析對象的屬性變化,并支持富文本的前后對比。
- 便于擴展:支持自定義對象變動說明、屬性變動說明。支持更多對象屬性類型的擴展。
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}上述命令中的用戶配置項說明如下:
- db_driver:數據庫驅動。如果使用MySql數據庫則為com.mysql.jdbc.Driver;如果使用SqlServer數據庫則為com.microsoft.sqlserver.jdbc.SQLServerDriver。
- db:數據庫類型。如果使用MySql數據庫則為mysql;如果使用SqlServer數據庫則為sqlserver。
- db_address:數據庫連接地址。如果數據庫在本機則為127.0.0.1。
- db_name:數據庫名,該數據庫中需包含上一步初始化的兩個數據表。
- db_username:數據庫登錄用戶名。
- db_password:數據庫登錄密碼。
啟動jar包后,系統默認的服務地址為:
http://127.0.0.1:8080/ObjectLogger/訪問上述地址可以看到下面的歡迎界面:
至此,ObjectLogger系統已經搭建結束,可以接受業務系統的日志寫入和查詢操作。
3 業務系統接入
該部分講解如何配置業務系統來將業務系統中的對象變化記錄到ObjectLogger中。
3.1 引入依賴包
在pom中增加下面的依賴:
com.github.yeecode.objectLogger ObjectLoggerClient {最新版本}3.2 添加對ObjectLoggerClient中bean的自動注入
3.2.1 對于SpringBoot應用
在SpringBoot的啟動類前添加@ComponentScan注解,并在basePackages中增加ObjectLoggerClient的包地址:com.github.yeecode.objectLoggerClient,如:
@SpringBootApplication@ComponentScan(basePackages={"{your_beans_root}總結
以上是生活随笔為你收集整理的sqlserver大数据表操作慢_架构师必看!操作日志系统搭建秘技的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 试管婴儿只能刨腹产吗
- 下一篇: 信息系统项目管理师论文_「高项论文」谨防