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

河北高端建设网站怎么做物流网站代理

河北高端建设网站,怎么做物流网站代理,进不了建设银行网站,王通seo开发中客户端经常遇到一些线上问题, 无法复现, 但是又的的确确存在; 当线上反馈的时候无从下手; 主要是因为并不知道用户所处的环境,以及所做的操作顺序或者程序运行的顺序; 在排查问题和复现问题上占用了很大的成本; 如果debug时的log日志如果线上也能查看就好了; 基于此, 我们…

开发中客户端经常遇到一些线上问题, 无法复现, 但是又的的确确存在; 当线上反馈的时候无从下手; 主要是因为并不知道用户所处的环境,以及所做的操作顺序或者程序运行的顺序; 在排查问题和复现问题上占用了很大的成本; 如果debug时的log日志如果线上也能查看就好了; 基于此, 我们设计了一个客户端日志系统,这为我们发现和解决问题提供了很大的保障;

首先, 一个合格的日志系统需要满足的条件:

  • 触发上传日志的可靠性和便利性, 保证触发后可在最短时间内保证上传成功,并下载到日志文件;
  • 客户端本地高性能记录日志,不可影响app正常运行;
  • 日志支持大量数据, 满足10M文本数据记录和查看;
  • 注重用户隐私,日志专门解压解密才可查看; 不收集用户个人隐私相关,只用于排查应用问题;

1. 后端拉取方案:

步骤描述:

1. 当需要上传某人的日志时,后端触发, 将用户的状态标记为需上传状态;

2. 当用户在线或再次上线时, 通过查询接口得知自己需要上传, 则执行本地上传操作;若接口未返回true,则无需任何操作;

3. 上传成功后, 后端将该用户标记为无需上传状态, 用户下次查询时无需任何操作;

上述方案可保证触发后用户可在最短时间内上传, 测试客户端轮训的间隔为3min

2. 客户端本地日志记录方案:

目前开源的方案有:

  • 腾讯mars XLog组件 https://github.com/Tencent/mars
  • 美团Logan https://github.com/Meituan-Dianping/Logan

XLog 只实现日志写入操作,后续上传,解密需自己定制;

Logan 包含客户端与服务端,写入,上传,解密等一套服务, 解密查看不支持客户端查看,只能自己部署Logan后台查看;

为保证灵活性,暂时两个都进行接入,并用一套接口封装; Logan需搭建前后端,并不支持自己解析日志,为先验证可行性,目前只使用XLog;

XLog优点:

  • mars 的日志模块 xlog 可以做到:高性能高压缩率、不丢失任何一行日志、避免系统卡顿和 CPU 波峰。

官方benchmark测试: https://github.com/Tencent/mars/wiki/Xlog-Benchmark

本地测试无间隔无限循环写入情况下, 测试内存表现,未有明显异常;

Xlog接入:

也可以直接参考下文章: 开源系列 | 基于微信XLog的日志框架&&对于XLog的分析 - 掘金

引入依赖

dependencies {compile 'com.tencent.mars:mars-xlog:1.2.5'
}

初始化:

System.loadLibrary("c++_shared");
System.loadLibrary("marsxlog");final String SDCARD = Environment.getExternalStorageDirectory().getAbsolutePath();
final String logPath = SDCARD + "/marssample/log";// this is necessary, or may crash for SIGBUS
final String cachePath = this.getFilesDir() + "/xlog"//init xlog
Xlog xlog = new Xlog();
Log.setLogImp(xlog);if (BuildConfig.DEBUG) {Log.setConsoleLogOpen(true);Log.appenderOpen(Xlog.LEVEL_DEBUG, Xlog.AppednerModeAsync, "", logPath, logFileName, 0);
} else {Log.setConsoleLogOpen(false);Log.appenderOpen(Xlog.LEVEL_INFO, Xlog.AppednerModeAsync, "", logPath, logFileName, 0);
}

退出程序时关闭:

Log.appenderClose();​​​​​​​ 

1. 需要注意的是, 默认使用的异步写入文件, 需要上传的时候需要同步一下内存到文件中; 调用appenderFlush(true), 不然最近记录的日志可能未同步到文件中;

2. 一些其他配置, 比如log写入目录,缓存目录等, 参考https://github.com/Tencent/mars/wiki/Mars-Android-%E6%8E%A5%E5%8F%A3%E8%AF%A6%E7%BB%86%E8%AF%B4%E6%98%8E

3. 日志文件的获取和查看

通过上面步骤, 我们成功拉取到xlog日志zip包, 但是普通的文本查看器无法查看,需要特殊的查看方法;

xlog文件查看步骤一般要经过

1. 解压zip,得到多个xlog

2. 解压并解密(如果加密了的话)xlog,得到xlog.log

3. 文本查看器查看

3.1 xlog的解密工具

官方提供了解密工具

https://github.com/Tencent/mars/wiki/Xlog-%E5%8A%A0%E5%AF%86%E4%BD%BF%E7%94%A8%E6%8C%87%E5%BC%95

https://github.com/yann2192/pyelliptic/tree/1.5.7

我自己用的是第三方一个可视化工具, 可以参考这篇文章

我用Flutter Deskstop做了一个Mars Xlog日志解析工具 - 掘金

工具的下载地址在这里https://github.com/JerryFans/mars_xlog_decoder_gui

3.2 大日志文件查看

得到xlog.log文件后, 往往日志文件非常大; 例如 10MB的xlog解码后的xlog.log文件高达99.8MB, 纯文本文件使用subline或电脑自带软件打开卡顿非常明显, 无法滚动;

这里推荐几个大日志文本查看工具:

大log文件查看器:

https://gitee.com/compilelife/loginsight/releases/tag/v1.0

好用的工具

https://github.com/variar/klogg/releases

我自己使用的klogg这个工具,使用起来很流畅, 搜索过滤功能也很方便,可以把搜索到的关键字记录聚集到一起, 并和原始记录分屏查看;

至此, 客户端日志拉取, 上传, 查看已形成闭环, 后面根据业务上传需要的日志就可以了,请大家多提意见;

http://www.yayakq.cn/news/558759/

相关文章:

  • 学做档案类网站华宇万户网络
  • 淘宝店铺装修做代码的网站合肥 电子商务 网站建设
  • 做网站好处如何生成自己的小程序
  • 电源 东莞网站建设微信网站特征
  • 白家乐网站怎么建站网站建设定制设计
  • 微信网站建站平台seo搜索引擎优化招聘
  • 郑州高端品牌网站建设wordpress图片模糊
  • 网站建设工作室源码网站系统开发怎么做
  • 网站该如何做哪里租服务器做网站
  • 适应移动端网站模板建站网址建设
  • 如果做网站需要多少钱开封网络营销方式
  • 外贸建站优化龙华app网站开发
  • 门户网站 模块做图的软件网站
  • 傻瓜做网站北京网站搜索优化
  • 公司网站怎样备案做网站需要icp吗
  • 温州专门做网站南昌网站网站建设
  • 郑州企业网站排名优化方法django和WordPress哪个好
  • 电子商务网站建设技能实训答案wordpress二次开发函数
  • 网站改版设计思路百度开发平台
  • 买正品去哪个网站最好如何进行品牌营销
  • 做网站类的书本信息做搜狗网站优化点击
  • 钓鱼网站的主要危害中国工商网
  • 北京网站优化找商集客吗代码下载网站
  • 招聘网站怎么做营销大数据营销的缺点
  • 怎么利用网站上的图片室内设计公司有哪些部门
  • 大型网站开发框架假建设银行网站
  • 企业商城网站建设注册网络科技公司需要多少钱
  • 烟台企业网站建设刚刚西安发布重要通知
  • 珠海微网站建设学校网站开发工作室
  • 营销型的网站企业百度指数人群画像