编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

美团点评开源 Logan:移动端日志管理的“瑞士军刀”

wxchong 2025-03-01 15:47:59 开源技术 17 ℃ 0 评论

在移动应用开发的世界里,日志就像是应用的“黑匣子”,记录着应用运行的点点滴滴。然而,传统的日志处理方式常常让人头疼:上报不及时、信息不全、分散在各个角落,简直是开发者的噩梦。别担心,美团点评开源的 Logan 项目,就像一把锋利的“瑞士军刀”,帮助你轻松解决移动端日志管理的各种难题。

一、Logan 是什么?

Logan,这个名字听起来是不是有点像某个超级英雄?其实它是 Log 和 An 的组合,寓意“个体日志服务”。Logan 是美团点评内部经过一年多稳定迭代的移动端基础日志组件,现在它已经敞开大门,欢迎各位开发者来体验。

Logan 的核心目标是解决移动端日志存储和收集的痛点。它不仅支持多种日志类型,还能本地记录,并在需要时统一上报。更重要的是,它不采样,力求记录每一个细节,让问题无处遁形。

二、Logan 的核心功能

1. 日志输入

Logan 就像一个“日志收纳箱”,支持各种类型的日志,包括代码级日志、网络日志、用户行为日志、崩溃日志、H5 日志等等。它不仅记录日志,还尽可能携带更多信息,让你在分析问题时有更全面的视角。

2. 日志存储

传统的日志存储方式常常面临卡顿、日志丢失、安全性和分散等问题。Logan 通过自研的日志协议,采用“先压缩再加密”的方式,使用流式加密和压缩,避免了 CPU 峰值,同时减少了 CPU 使用。跨平台 C 库负责日志协议数据的格式化处理,MMAP 机制解决了日志丢失问题,AES 加密则确保了日志的安全性。

3. 后端系统

后端系统是 Logan 的“大脑”,负责接收日志、解析归档、日志分析和数据平台。它支持主动上报和回捞上报,对日志进行解密、解压还原,并进行结构化归档存储。通过分析各类型日志,串联信息,形成完整的个人日志,为前端系统及第三方平台提供数据。

4. 前端系统

前端系统是 Logan 的“眼睛”,提供日志可视化、时间轴、日志搜索、日志筛选、日志分享等功能,帮助研发人员快速定位问题。特别是时间轴功能,通过图形方式进行语义分析,让日志信息一目了然。

时间轴中对代码级日志进行了日志类别的区分:

三、Logan 的最佳实践

在 Logan 出现之前,移动端日志处理常常是这样的:

各个系统日志分散,问题定位困难。而 Logan 的出现,让日志处理变得井井有条:

Logan 的核心体系由四大模块构成:日志输入、日志存储、后端系统、前端系统。

新的案例分析流程如下:

  1. 用户反馈问题。
  2. 客服记录 Case,引导用户上报 Logan 日志。
  3. 研发人员查找 Logan 日志,分析日志,还原 Case“现场”。
  4. 结合代码定位问题,修复问题。

四、如何部署和使用 Logan?

Logan 提供了 iOS、Android、Web 和小程序 SDK,以及分析服务和 LoganSite。

1. iOS SDK

使用 CocoaPods 安装:

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '8.0'

target 'TargetName' do
  pod 'Logan', '~> 1.2.5'
end

然后运行 pod install。

2. Android SDK

需要 Android Studio 3.4+,NDK r16b,CMake 3.4.1+,JDK 1.7 或 1.8。

3. Web SDK

使用 npm 或 yarn 安装:

npm install --save logan-web

yarn add logan-web

4. LoganSite

需要 Node 10.15.3+ 和 yarn 1.15.2+ 或 npm 6.12.0+。

  1. 克隆仓库到本地。
  2. 在 LoganSite 目录下创建 .env.development 文件,并设置 API_BASE_URL。
  3. 运行 npm install 或 yarn,然后运行 npm run start 或 yarn start。

五、未来展望

Logan 的未来充满无限可能。美团点评计划提供基于 Logan 大数据的数据平台,包含机器学习、疑难日志解决方案、大数据特征分析等高级功能。

Module

Open Source

Processing

Planning

iOS & macOS



Android



Web



Mini Programs



Back End



Front End



六、总结

Logan 不仅仅是一个日志库,更是一套完整的移动端日志解决方案。它解决了传统日志处理的诸多痛点,让开发者能够更高效地定位和解决问题。如果你还在为移动端日志管理而烦恼,不妨试试 Logan,它可能会给你带来意想不到的惊喜。

最后,别忘了去 GitHub 上给 Logan 点个 Star 哦!
https://github.com/Meituan-Dianping/Logan

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表