日志系统
中文 | English
用于在 release 环境下查看日志的系统。为啥会出现这个系统呢,是因为当初我发现测试工程师在测试过程中出现问题不知道是谁的问题;总是把 bug 都记录在我的头上;同时由于有一些 bug 是偶现的,出现过一次可能下一次就没有了,有日志的情况下不需要测试再次复现,我直接去看这上面的日志就能找到问题。但可能日志不够全,所以在编写代码的过程中尽可能多打日志,方便排查问题。
在使用日志系统之前,你首先需要集成 log-listener-plugin 到你的项目。具体集成教程请参阅对应的文档。
这个项目只支持 react-native 项目。
我以 macos
为例。首先进入这个网站下载对应的版本的软件,尽量下载最新的版本,因为新版修复了之前的很多 bug :
https://github.com/wutiange/log-record/releases
进入后下载最新版本即可。下载后解压:
双击打开日志系统。但是一般会提示:
这个时候不要慌,打开“设置”,然后再打开“隐私与安全性”:
然后在出现的弹框中点击打开就完成了。接下来只要日志上报这上面就会显示了。要想正常显示在这上面,还需要注意几点,如果这个系统你是在你的电脑上打开的,那么你得保证你的手机 WiFi 跟你的电脑处于同一网络;在 App
中成功设置了日志上报的 testUrl
。打开之后长这样:
如果此时有日志,那么就会变成这样:
其中每一条日志旁边都有一个横条,这个横条代表日志等级,也就是 log ,warn, error
这三种日志类型,见图:
而第二部分则是时间,可以根据这个看出打印的时间。
右下角有两个按钮,第一个是清空当前屏日志,第二个按钮是保持滑动,也就是会跟随日志的增加而滚动。
其中还有一个很好的功能就是搜索,搜索支持同时搜,也就是既有又有的逻辑。打个比方我想搜索包含“App”的日志:
我发现日志还是很多,于是我想基于“状态”的日志基础上新增“background”这个日志,只需要使用空格分开两段文本就可以完成同事搜索:
这个是我在平时的开发中有时候有这样的需求,所以写了这个。搜索除了这个功能外,还能过滤错误等级,手机型号等等功能,只要你 setBaseUrl 传入的类型有哪些那就你过滤就可以根据那些来进行,下面我演示根据日志等级过滤。
其中 level
代表上报的字段名,warn
代表字段的对应值。这个格式是固定的,中间不能出现空格,空格都当做是且的关系。
- 优化日志太多的性能问题(1.0.6);
- 优化日志搜索(1.0.6);
- 优化网络日志的查看体验(1.0.7);
- 新增网络清空功能(1.0.7);
- 支持手动检查更新(1.0.7);
- 优化网络日志太多的性能问题,改善体验(1.0.8);
- 新增网络日志搜索(1.0.8);
- 新增连接日志系统提示(1.0.9);
- 新增英文版本(1.1.0);