智能硬件设备日志服务架构设计
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进行管理。
相关文章推荐
- 微服务架构—高级设计篇
- 阿里P8 “布道师”,谈微服务的应用架构设计(附微服务教程)
- 免费分享:5本架构师书籍,架构解密从分布式到微服务,分布式服务架构:原理、设计与实战,架构真经互联网技术架构的设计原则,架构探险
- 热门话题:使用WCF实现SOA面向服务编程—— 架构设计(附原代码)
- 架构设计:远程调用服务架构设计及zookeeper技术详解(上篇)
- 微服务架构分布式事务解决方案设计思路(可靠消息最终一致方案-概念)
- Java高并发高性能分布式框架从无到有微服务架构设计
- 【系统设计】“查询推荐好友”服务在不同架构风格下如何设计?
- Web服务搜索与执行引擎(四)——基于(三)的系统架构设计
- 大项目微服务架构设计
- 一个电商项目的Web服务化改造5:面向服务的分层架构设计(有图有真相)
- 互联网保险O2O平台微服务架构设计
- 【微服务架构】微服务架构的六种设计模式(转)
- 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结
- 微服务架构设计 第七步: 分析微服务对外 API
- 微服务架构设计基础之领域驱动设计
- 走向ASP.NET架构设计-第六章-服务层设计(中篇)
- 互联网服务架构设计漫谈(一)—设计考量点总览
- 微服务架构的设计模式