您的位置:首页 > 运维架构 > 网站架构

智能硬件设备日志服务架构设计

2019-06-07 17:01 2951 查看

日志服务功能主要分为两大模块:logcat日志和埋点日志。

日志类型

定义

特点

作用

logcat日志

每个app通过Log打印的日志

全,但是关键信息不明显

用于分析定位现网问题

埋点日志

格式化的日志

格式规整/信息突出/可配合管理平台进行统计

1. 供产品运营分析用户数据

2. 定位现网问题

 

一、需求

日志进程管理 在进程中执行的指令: logcat –v time | egrep –i “abcd”

 

2. 阻塞式读取日志进程中的输出日志

buffRead = new BufferedReader(new InputStreamReader(process.getInputStream()));
while ((line = buffRead.readLine()) != null) {
}

这里缓存采用StringBuffer,它是线程安全的。

 

3. 日志输出到文件及加密过程

每读一行日志会拼接到缓存中,当达到一定数量后写入文件。

也可以是时间轮询触发写入文件。(会有多线程问题)

写文件采用: FileOutputStream

压缩及加密: 采用先gZip压缩,然后再进行异或加密,秘钥存储在代码中可能存在一定的风险。

 

4. logcat文件上传

由于单个文件都是小文件,不需要支持断点续传,所以只是简单的通过一个接口请求将文件put到云端。

 

5. 埋点日志存储及上传管理

采用单独的埋点sdk进行管理。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐