日志 - 20160710

不知不觉的已经入职半个多月。目前工作内容以熟悉代码,维护老项目的版本的更新发布为主。公司氛围轻松,加班文化基本没有。 每天熟悉代码,熟悉发布更新流程,熟悉内部的各种工具和平台,熟悉项目架构日子就过得很快。 晚上闲来无事,最近折腾起了 Okra-LOG 日志。上周五晚上算是基础功能已经完成。

说起 Okra-Log 就有点故事了。

o(∩_∩)o 哈哈,故事要从项目上线腾讯互娱开始说起,手游项目上线接入 tlog 日志(腾讯内部闭源的用户行为日志上报系统)。 研发侧服务器上报用户的行为日志,运营侧有专人维护和开发相关上报 web 页面(查看分析平台)。主要用于分析用户留存,玩家针对某些功能或活动的参与度、热情度等等。 说简单点就是数据分析,分析成功,也分析失败。

再然后我开始接手和负责项目的后期维护工作,项目后续海外平台的上线。问题是:海外的平台没有日志系统。 这时候我面临的 2 个选择,一个是研发属于自己的日志系统,二全面兼容 tlog 的接口。其实两种是一个选择啦。第二种还简单点。

恰好上线稳定后那段时间,工作压力不大,笔者闲着无聊,一方面也是自己好奇,于是在个人工具项目 tinyz-kernel 中集成仿 tlog 的实现。 于是海外版本,就这么自然而然的偷了个懒, 最后将 kernel 的日志部分剥离出来,形成了当时内部代号 eos 的日志系统。 这里需要说明一下,tinyz-kernel 项目也就是 Okra 的前身。算是笔者自己的私人工具库吧。

第三步,也就是现在了 o(∩_∩)o 哈哈。其实也没什么,就是感觉笔者当初设计和实现不好。而且一直有推掉重新设计实现的想法。 之前一方面是工作的事情比较多(新项目研发和架构), 另一方面海外平台线上使用的情况比较稳定,也没遇到什么大问题 所以也就一直拖着拖着就搁置了。

最近刚好离职,就准备重新按照自己的想法实现一下。也算是为未来的可能做个积累。

这时候可能有小朋友说现在第三方日志收集和分析工具这么多为什么不接入第三方实现呢? 大概就以下几个原因。

  1. 日志系统实现不难。工作量主要集中在 web 展示数据分析模块
  2. 自研的标准统一。针对不同的运营商接入不同的日志平台是非常费劲的一件事情,环境复杂(各大应用分发商,运营商可能使用的不同的 log)
  3. 更新和部署简单。自研对系统了解程度更高,方便扩展各种需要的功能。使用 Java 实现,部署提供 jar 包和启动脚本即可
  4. 接入简单。随时根据需求调整日志功能。

实在编不下去了。o(∩_∩)o 哈哈。 其实最关键的问题很简单,接入第三方需要按别人的规则走,自己的实现自由度很高。

详细见Okra-LOG项目吧,已开源 o(∩_∩)o 哈哈,有需要就拿去。 会逐步完善设计文档和 web 的部分。

知识共享许可协议

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 TinyZ Zzh (包含链接: https://tinyzzh.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。 如有任何疑问,请 与我联系 (tinyzzh815@gmail.com)

TinyZ Zzh

TinyZ Zzh

专注于高并发服务器、网络游戏相关(Java、PHP、Unity3D、Unreal Engine等)技术,热爱游戏事业, 正在努力实现自我价值当中。

评论

  点击开始评论...