循序漸進VUE+Element 前端應用開發(31)--- 系統的日志管理,包括登錄日志、接口訪問日志、實體變化歷史日志


在一個系統的權限管理模塊中,一般都需要跟蹤一些具體的日志,ABP框架的系統的日志管理,包括登錄日志、接口訪問日志、實體變化歷史日志,本篇隨筆介紹ABP框架中這些日志的管理和界面處理。

1、系統登錄日志

在系統每次登錄的時候,我們需要記錄具體的登錄信息,這個一般是系統最基礎的日志管理。

 

ABP框架提供基礎的登錄日志管理,用戶在進行登陸鑒權的時候,會自動記錄對應的日志,存儲在記錄表AbpUserLoginAttempts中,我們只需要把它提取出來進行展示即可。

我們在Vue前端,定義BaseApi類,然后繼承它實現基礎的接口即可。

 

列表展示的Vue端的JS邏輯代碼如下所示。

    getlist() { // 列表數據獲取
      var param = { // 構造常規的分頁查詢條件
        SkipCount: (this.pageinfo.pageindex - 1) * this.pageinfo.pagesize,
        MaxResultCount: this.pageinfo.pagesize,
        // 過濾條件
        UserNameOrEmailAddress: this.searchForm.UserNameOrEmailAddress
      };
      // 使用日期范圍選擇控件,在查詢對象增加開始日期CreationTimeStart、結束日期CreationTimeEnd
      this.addDateRange(param, this.searchForm.creationTime)

      // 獲取產品列表,綁定到模型上,並修改分頁數量
      this.listLoading = true
      loginlog.GetAll(param).then(data => {
        this.list = data.result.items
        this.pageinfo.total = data.result.totalCount
        this.listLoading = false
      })
    },

 

2、接口訪問日志

ABP框架是一個后端的Web API框架,因此需要跟蹤每個接口的具體訪問,包括具體的請求參數和結果等信息,一般我們對接口進行跟蹤和優化管理等等。

ABP框架的接口訪問日志,也是系統基礎提供的記錄日志,它在每次系統接口被調用的時候攔截記錄,記錄信息存儲在AbpAuditLogs中,同樣我們只需要提取出來進行展示即可。

 

具體的一條接口訪問日志查看界面如下所示。

接口訪問日志,也就是審計日志的前端調用對象和登錄日志的處理類似,只是根據需要增加一些實現的接口。

  同樣界面的列表獲取展示邏輯JS代碼如下所示。

    getlist() { // 列表數據獲取
      var param = { // 構造常規的分頁查詢條件
        SkipCount: (this.pageinfo.pageindex - 1) * this.pageinfo.pagesize,
        MaxResultCount: this.pageinfo.pagesize,
        // 過濾條件
        UserNameOrEmailAddress: this.searchForm.UserNameOrEmailAddress
      };
      // 使用日期范圍選擇控件,在查詢對象增加開始日期CreationTimeStart、結束日期CreationTimeEnd
      this.addDateRange(param, this.searchForm.creationTime)

      // 獲取產品列表,綁定到模型上,並修改分頁數量
      this.listLoading = true
      auditlog.GetAll(param).then(data => {
        this.list = data.result.items
        this.pageinfo.total = data.result.totalCount
        this.listLoading = false
      })
    },

 

3、實體修改歷史日志

除了上面兩種日志外,還有一種是在數據對象發生變化的時候,進行的記錄,叫做實體修改(變化)歷史記錄,記錄存放在表AbpEntityChanges、AbpEntityChangeSets和AbpEntityPropertyChanges中。

實體修改歷史日志如下界面所示。

 

打開可以詳細查看實體類的屬性變化列表,如下界面所示。

實體修改歷史記錄,系統默認是關閉,需要的話可以在項目模塊的配置中打開,如下代碼所示即可。

            //配置實體修改歷史
            Configuration.EntityHistory.IsEnabled = Constants.EntityHistoryEnabled;
            //使用基類實現IFullAudited的實體類,記錄修改歷史
            Configuration.EntityHistory.Selectors.Add(new NamedTypeSelector("IFullAudited",
                    type => typeof(IFullAudited).IsAssignableFrom(type)));

 

以上這些類型的日志,都是ABP框架基礎接口提供的攔截記錄日志,我們只需要根據具體的對象獲取記錄進行展示即可,非常方便。

 

為了方便讀者理解,我列出一下前面幾篇隨筆的連接,供參考:

循序漸進VUE+Element 前端應用開發(1)--- 開發環境的准備工作

循序漸進VUE+Element 前端應用開發(2)--- Vuex中的API、Store和View的使用

循序漸進VUE+Element 前端應用開發(3)--- 動態菜單和路由的關聯處理

循序漸進VUE+Element 前端應用開發(4)--- 獲取后端數據及產品信息頁面的處理

循序漸進VUE+Element 前端應用開發(5)--- 表格列表頁面的查詢,列表展示和字段轉義處理

循序漸進VUE+Element 前端應用開發(6)--- 常規Element 界面組件的使用

循序漸進VUE+Element 前端應用開發(7)--- 介紹一些常規的JS處理函數

循序漸進VUE+Element 前端應用開發(8)--- 樹列表組件的使用

循序漸進VUE+Element 前端應用開發(9)--- 界面語言國際化的處理

循序漸進VUE+Element 前端應用開發(10)--- 基於vue-echarts處理各種圖表展示 

循序漸進VUE+Element 前端應用開發(11)--- 圖標的維護和使用

循序漸進VUE+Element 前端應用開發(12)--- 整合ABP框架的前端登錄處理

循序漸進VUE+Element 前端應用開發(13)--- 前端API接口的封裝處理

循序漸進VUE+Element 前端應用開發(14)--- 根據ABP后端接口實現前端界面展示

循序漸進VUE+Element 前端應用開發(15)--- 用戶管理模塊的處理

循序漸進VUE+Element 前端應用開發(16)--- 組織機構和角色管理模塊的處理 

循序漸進VUE+Element 前端應用開發(17)--- 菜單管理

循序漸進VUE+Element 前端應用開發(18)--- 功能點管理及權限控制  

VUE+Element 前端應用開發框架功能介紹 

循序漸進VUE+Element 前端應用開發(19)--- 后端查詢接口和Vue前端的整合

使用代碼生成工具快速生成基於ABP框架的Vue+Element的前端界面

循序漸進VUE+Element 前端應用開發(20)--- 使用組件封裝簡化界面代碼

循序漸進VUE+Element 前端應用開發(21)--- 省市區縣聯動處理的組件使用

循序漸進VUE+Element 前端應用開發(22)--- 簡化main.js處理代碼,抽取過濾器、全局界面函數、組件注冊等處理邏輯到不同的文件中

循序漸進VUE+Element 前端應用開發(23)--- 基於ABP實現前后端的附件上傳,圖片或者附件展示管理 

循序漸進VUE+Element 前端應用開發(24)--- 修改密碼的前端界面和ABP后端設置處理

循序漸進VUE+Element 前端應用開發(25)--- 各種界面組件的使用(1)

循序漸進VUE+Element 前端應用開發(26)--- 各種界面組件的使用(2)

電商商品數據庫的設計和功能界面的處理 

循序漸進VUE+Element 前端應用開發(27)--- 數據表的動態表單設計和數據存儲

循序漸進VUE+Element 前端應用開發(28)--- 附件內容的管理 

循序漸進VUE+Element 前端應用開發(29)--- 高級查詢條件的界面設計

部署基於.netcore5.0的ABP框架后台Api服務端,以及使用Nginx部署Vue+Element前端應用

循序漸進VUE+Element 前端應用開發(30)--- ABP后端和Vue+Element前端結合的分頁排序處理 

循序漸進VUE+Element 前端應用開發(31)--- 系統的日志管理,包括登錄日志、接口訪問日志、實體變化歷史日志

循序漸進VUE+Element 前端應用開發(32)--- 手機短信動態碼登陸處理 

循序漸進VUE+Element 前端應用開發(33)--- 郵件參數配置和模板郵件發送處理 

使用代碼生成工具快速開發ABP框架項目 

使用Vue-TreeSelect組件實現公司-部門-人員級聯下拉列表的處理 

使用Vue-TreeSelect組件的時候,用watch變量方式解決彈出編輯對話框界面無法觸發更新的問題 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM