在一個系統的權限管理模塊中,一般都需要跟蹤一些具體的日志,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中,
物體修改歷史日志如下界面所示,

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

以上這些型別的日志,都是ABP框架基礎介面提供的攔截記錄日志,我們只需要根據具體的物件獲取記錄進行展示即可,非常方便,
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/244514.html
標籤:.NET Core
