EasyCVR新增日誌中心功能開發實現分享(附程式碼)
阿新 • • 發佈:2021-10-13
視訊融合雲服務平臺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後臺檢視,展示正常: