1. 程式人生 > 其它 >EasyCVR新增日誌中心功能開發實現分享(附程式碼)

EasyCVR新增日誌中心功能開發實現分享(附程式碼)

視訊融合雲服務平臺EasyCVR不需要對現有監控架構做調整,支援CDN推流,靈活適應原有架構;且按需靈活擴充套件、收縮資源,免去了外掛安裝、瀏覽器限定等條件,實現了無外掛、多平臺自由觀看回放。此外,我們也會不定期對EasyCVR的原有功能進行調整及新增,以滿足不同使用者或專案的需求。

本文我們分享一下EasyCVR中日誌中心功能的新增。首先分析該需求的實現目的,日誌中心需要將後端的日誌檔案在前端展示出來,並且能夠直接提供下載。實現後效果如下,日誌可直接顯示:

從程式碼層面增加內容,主要實現方式就是新增一串程式碼,程式碼需要完成以下工作:找到存放日誌的目錄,然後遍歷資料夾所有檔案,然後將檔案log結尾的檔案資訊詳細地展示出來,包含大小和名稱,最後返回給前端。

logPath:=filepath.Join(utils.CWD(), filename)
//logPath := fmt.Sprintf("%s", filename)
Files, _ := ioutil.ReadDir(logPath)
ClearArrV := make([]ClearArrS, 0)
for _, file := range Files {
       if !file.IsDir() {
              temp := ClearArrS{
                     FileName:   file.Name(),
                     ModTime:    file.ModTime(),
                     FormatTime: file.ModTime().Format("2006-01-02 15:04:05"),
                     FileSize:   file.Size() / 1024,
              }
              ClearArrV = append(ClearArrV, temp)
       }
}
sort.Sort(ClearArrVs(ClearArrV))
ack := NewMsgAck()
ack.EasyDarwin.Header.MessageType = MSG_SC_SERVER_ADD_CHANNEL_ACK
ack.EasyDarwin.Body["FileList"] = ClearArrV //string(rsp)
ack.EasyDarwin.Body["Count"] = len(ClearArrV)
c.AbortWithStatusJSON(http.StatusOK, ack)

程式碼新增完成後通過EasyCVR後臺檢視,展示正常: