App 日志系统方案选型分析
最近我们的 app 被反馈了几个不同的生产问题, 都属于偶现, 由于不能稳定复现, 因此排查起来比较困难, 只能猜测问题出现在哪里, 尝试进行修改, 改完之后也不知道有没有彻底解决, 很痛苦. 造成这种现象的原因是我们 app 目前缺乏一个日志系统, 结合前段时间的面试经历, 我意识到大型的 app 一般都会配备有日志分析系统, 而这正是我们 app 目前所欠缺的, 我觉得是时候考虑加入日志系统了
首先内部调研了一下, 同部门的安卓组倒是有日志系统, 他们采用的上报方案是通过 http 请求实时上报到后端, 后端将上报来的日志信息输出到 kibana 日志平台供安卓开发人员查询. 这种方案会频繁请求网络造成耗电, 且上报数据有限. 在我看来安卓的这种日志上报更像是埋点上报, 可能比较适合前端网页, 因为网页随时可能被用户关闭, 而且不能在磁盘进行存储, 只能进行实时上报了. 我认为应该充分利用 app 客户端的优势, 将日志写入到本地文件中, 在用户遇到问题时将日志进行上传供开发人员分析.
说干就干, 先把大致思路捋清楚吧