LntonCVS作为一种支持GB28181标准的流媒体服务平台,旨在提供一个能够整合不同厂商设备、便于管理和扩展的解决方案,以适应日益复杂的视频监控环境。通过实现设备的统一管理和流媒体的高效传输,LntonCVS帮助构建更加灵活和强大的视频监控系统。
在日常开发或调试中,经常会出现没有打开控制台而没有监听到错误信息的打印,常常需要重新执行一边,耗时耗力还定位不到问题。
在部署上线后不能100%保证一个错误不出,有时出现错误可能就这一次,或就那一瞬间,后面就恢复正常,但是对于我们精益求精的责任心来说,我们会定位出问题,并且找到问题发生的原因从而解决问题。
所以我们不仅仅在服务端做了日志记录,更在前端记录错误日志和核心功能的日志。
下面我来讲下代码实现,首先我们对 console.log做了二次封装,将其分为三个级别,分别为info、warn和error,其中info 是用于开发人员开发调试的,生产模式下不会开启,warn和error会默认开启。
首先定义一个类,统一处理log日志,并且自定义样式
使用方式:
import Logger from '@/pkg/logger/logger';
Logger.info('xxxx')
Logger.warn('xxxx')
Logger.error('xxxx')
在生产模式下可以通过在客户端控制台输入一下内容,然后刷新浏览器,开启info模式
localStorage.setItem('LNTON_DEBUG','NONE') //关闭 debug
localStorage.setItem('LNTON_DEBUG','INFO') //开启 debug info 模式
日志记录
上面只是实现了最基础的统一日志,下面开始记录日志。
由于localStorage的存储空间太小,并且会让内容变得糟糕读写都不方便。
所以我们采用前端indexDB数据库用来存储错误信息和日志。
下面封装 db 数据库
到这里,我们只要运行new IndexedDBService('MyDatabase', 1) 就会创建logger表,这时候在logger.error的时候可以把信息通过api直接写入indexDB 数据会保存7天具体写入方法即_addLogger函数。
LntonCVS以其强大的兼容性、实时处理能力、用户友好的管理界面和灵活的部署选项,在政务、安防监控和企业视频服务等多个领域都有广泛的应用前景。