xlog解决的主要问题是在生产环境打日志的问题。(注意直接github搜xlog会将你引导到另一个高stars的项目中,其为java实现的日志美化库,和Logger类似,但比Logger强大。)
Mars项目地址:Tencent/mars: Mars is a cross-platform network component developed by WeChat. (github.com)
设计思路:微信终端跨平台组件 mars 系列(一) - 高性能日志模块xlog (qq.com)
可以高效率的将日志写入文件,对日志进行压缩,加密,之后的日志文件你可以上传到你需要的位置。在进行日志文件的解密,解压缩。
高效:使用c++代码实现,使用mmap进行内存与文件的映射,减少数据拷贝次数,mmap即使进程死亡了也会将数据同步到文件中,保证日志的完整性
低消耗:使用C++代码实现,可以避免使用java造成的频繁的GC,会对单条日志在写入mmap之前进行压缩,减少了mmap与文件的同步频次
功能丰富:日志文件压缩,加密,自动清理等功能
主要的技术点还是在低消耗和高效率上面
可以在release包中,将写日志对用户体验的影响降的尽量的低。
xlog是提供了加密功能的,回叙会继续说明
一、添加依赖
com.tencent.mars:mars-xlog:1.2.5