日志打印与采集:
面临的挑战
1.文本日志的解析与解读
2.日志格式变更的向前向后兼容
3.日志的收集与传输
4.软件开发过程中的日志变更管理
高质量的日志打印:
1.提高数据意识,与整个开发过程整合
2.日志应该尽量全和细致,存储廉价,数据宝贵
3.除与后端无交互的事件在客户端采集外,其余全部后端以日志形式采集,在这个过程中,客户端将一些必要的字 段,传递给后端。
4.字段管理与审核:公司级的公共字段,部门级的公共字段,特有字段
5.尽量使用Protobuf/Json等二进制格式:向前兼容,向后兼容,字段约束,传输效率,解析效率
6.尽可能将数据处理前置
7.如有可能,开发,维护与使用标准的日志库与框架
一个较好的日志内容实践:用户行为日志五要素:
Who:设备ID,注册ID等
When:事件发生时间等
Where:IP和GPS信息以及由此解析出来的地域,LBS信息等
How:浏览器,操作系统,设备型号,Referer等
What:URL,Title,表单内容等
一些可用的日志采集与传输方案:
1、打印到本地文件,然后批量下载/传输
2、打印到本地文件,然后用agent实时tail与传输
3、通过网络直接打印到日志中央服务器