当前位置: 首页 > news >正文

视频汇聚平台LntonCVS视频监控系统前端错误日志记录及Debug模式详细讲解

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以其强大的兼容性、实时处理能力、用户友好的管理界面和灵活的部署选项,在政务、安防监控和企业视频服务等多个领域都有广泛的应用前景。

相关文章:

  • 域名绑定ip和端口的方法是什么?
  • 一键秒删TXT文本符号,释放工作效率新高度,轻松应对海量文本处理挑战!
  • lua 计算第几周
  • Geotools--生成等值线
  • 【微服务】安装docker以及可视化界面
  • R可视化:可直接发表的柱状图
  • 开源远程协助:分享屏幕,隔空协助!
  • maven聚合工程整合springboot+mybatisplus遇到的问题
  • 全球首个,985重大突破!
  • day42 62.不同路径 63. 不同路径 II
  • Jenkins 自动化部署
  • 微服务项目搭建之技术选型
  • JavaSE(入门)
  • AI推介-多模态视觉语言模型VLMs论文速览(arXiv方向):2024.04.25-2024.05.01
  • 【C语言实现TCP通信】
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • Android Volley源码解析
  • angular组件开发
  • idea + plantuml 画流程图
  • JavaScript-Array类型
  • java中具有继承关系的类及其对象初始化顺序
  • Python十分钟制作属于你自己的个性logo
  • 不上全站https的网站你们就等着被恶心死吧
  • 程序员最讨厌的9句话,你可有补充?
  • 如何解决微信端直接跳WAP端
  • 如何用vue打造一个移动端音乐播放器
  • 算法-图和图算法
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • puppet连载22:define用法
  • 函数计算新功能-----支持C#函数
  • 整理一些计算机基础知识!
  • ​埃文科技受邀出席2024 “数据要素×”生态大会​
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • $ git push -u origin master 推送到远程库出错
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (学习日记)2024.01.09
  • (一)Linux+Windows下安装ffmpeg
  • (一)认识微服务
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .net反编译的九款神器
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • /tmp目录下出现system-private文件夹解决方法
  • @WebService和@WebMethod注解的用法
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [android学习笔记]学习jni编程
  • [C#]C# winform实现imagecaption图像生成描述图文描述生成
  • [C++] 统计程序耗时
  • [C++核心编程](四):类和对象——封装
  • [Django 0-1] Core.Handlers 模块
  • [docker] Docker的私有仓库部署——Harbor
  • [ERROR] Plugin 'InnoDB' init function returned error