Logan is a lightweight case logging system based on mobile platform.
Logan 是美团点评集团推出的大前端日志系统。名称是 Log 和 An 的组合,代表个体日志服务,同时也是金刚狼大叔的大名。
Logan 开源的是一整套日志体系,包括日志的收集存储,上报分析以及可视化展示。我们提供了五个组件,包括端上日志收集存储 、iOS SDK、Android SDK、Web SDK,后端日志存储分析 Server,日志分析平台 LoganSite。并且提供了一个 Flutter 插件Flutter 插件
整体架构
日志筛选
日志详情
以下是可以稳定跑起来的iOS配置,系统和xcode版本略大于或小于下面的版本理论上也是可以跑起来的。
macOS: 10.15.8
Xcode: 11.2
Cocoapods: 1.8.4
iOS: >= 8.0
在你的Xcode工程根目录新建Podfile文件,并在文件中添加如下配置
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'TargetName' do
pod 'Logan', '~> 1.2.5'
end
最后在项目根目录运行以下命令:
pod install
NDK: r16b
CMake: >= 3.4.1
Jdk: 1.7 或 1.8(推荐)
可在 Web 平台( H5 或 PC 环境)上运行的 Logan 组件,实现前端日志的本地存储与上报功能。
下载 npm 包
npm install --save logan-web
或者
yarn add logan-web
import Logan from 'logan-web';
let logContent = 'Your log content';
let logType = 1;
Logan.log(logContent, logType);
import Logan from 'logan-web';
const reportResult = await Logan.report({
reportUrl: 'https://yourServerAddressToAcceptLogs',
deviceId: 'LocalDeviceIdOrUnionId',
fromDayString: '2019-11-06',
toDayString: '2019-11-07'
});
Node: ^10.15.3
yarn: ^1.15.2 或 npm ^6.12.0
首先,clone仓库到本地。
在LoganSite根目录下创建文件.env.development
,并在其中指定API_BASE_URL
环境变量指向:
API_BASE_URL=http://location/to/your/server:port
然后执行以下命令:
$ cd $LOGAN_SITE
$ npm install
$ npm run start
或
$ cd $LOGAN_SITE
$ yarn
$ yarn start
首先,clone仓库到本地。
将 LoganSite/src/common/api.js 中第四行
const BASE_URL = process.defineEnv.API_BASE_URL;
中 BASE_URL 指向的部分替换成后端服务部署的地址:
const BASE_URL = "http://location/to/your/server:port"
然后执行以下命令:
$ cd $LOGAN_SITE
$ npm install
$ npm run build
或
$ cd $LOGAN_SITE
$ yarn
$ yarn build
在Logan面世之前,日志系统是相对分散的。
不同业务团队各自记录自己的日志,分析问题时再分别收集不同业务团队的日志进行整合,不同团队日志实现方式不同,获取日志的时间周期也不同,使得问题排查效率缓慢。Logan的思路是所有端上日志集中处理,按照不同的type进行区分,分析问题时可以随意聚合,有效提高日志分析效率。
Logan核心体系由四大模块构成:
日志输入
日志存储
后端系统
前端系统
新的日志分析流程如下:
未来我们会提供基于Logan大数据的数据平台,包含机器学习、疑难日志解决方案、大数据特征分析等高级功能。
最后,我们希望提供更加完整的一体化个案分析生态系统。
Module | Open Source | Processing | Planning |
---|---|---|---|
iOS & macOS | √ | ||
Android | √ | ||
Web | √ | ||
Back End | √ | ||
Front End | √ | ||
Mini Programs | √ |
关于贡献PRs和issue的更多信息,请参考贡献指南
白帆 - baitian0521
曹立成 - Richard-Cao
姜腾 - jiangteng
杨向南 - yangxiangnan
马小军 - Mr-xiaojun
罗恒 - luoheng158
孙懿 - sylvia1106
余若晟 - Retrospection
贺院超 - he-yuanchao
罗志林 - zlLuo
添加美团小助手微信,会帮助拉入 Logan 微信技术交流群:
MTDPtech、MTDPtech01、MTDPtech03
Logan项目采用MIT许可协议 - 详细内容请查看LICENSE。