Meituan-Dianping/Logan
Logan is a lightweight case logging system based on mobile platform.
repo name | Meituan-Dianping/Logan |
repo link | https://github.com/Meituan-Dianping/Logan |
homepage | https://tech.meituan.com/logan_open_source.html |
language | C |
size (curr.) | 20243 kB |
stars (curr.) | 2564 |
created | 2018-09-26 |
license | MIT License |
Logan
Overview
Logan is a log platform with ability to collect、store、upload and analyze front-end logs. We provide five components, including iOS SDK, Android SDK, Web SDK, analysis services Server SDK and LoganSite. In addition, we also provide a Flutter plugin Flutter Plugin.
Architecture
Overivew of LoganSite
Search Logs
Log Detail
Quick Start
iOS SDK
How to use SDK in your project
First create a file named Podfile, then copy the following code into the file.
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'TargetName' do
pod 'Logan', '~> 1.2.5'
end
Finally run the following command in root directory of your project.
pod install
iOS SDK document
More to see: iOS SDK
Android SDK
Android Studio: Not required, version 3.4 or higher is recomand.
NDK: r16b
CMake: >= 3.4.1
Jdk: 1.7 or 1.8(recomand)
Android SDK document
More to see: Android SDK
Web SDK
Web SDK supports logging in the H5 and browser environment.
Install
Install logan-web using npm
:
npm install --save logan-web
Or yarn
:
yarn add logan-web
Web SDK document
More to see: Web SDK
Server
Server document
LoganSite
LoganSite provides a visualized way for developers to scan and search logs uploaded from App and Web.
Environment
Node: ^10.15.3
yarn: ^1.15.2 或 npm ^6.12.0
Install
First, clone the repository into to local.
Create .env.development
in the directory of LoganSite,and set API_BASE_URL
like below:
API_BASE_URL=http://location/to/your/server:port
Then execute the following command:
$ cd $LOGAN_SITE
$ npm install
$ npm run start
or
$ cd $LOGAN_SITE
$ yarn
$ yarn start
Build
First, clone the repository into to local.
Replace the fourth line in LoganSite/src/common/api.js with follow:
const BASE_URL = "http://location/to/your/server:port"
Then execute the following command:
$ cd $LOGAN_SITE
$ npm install
$ npm run build
or
$ cd $LOGAN_SITE
$ yarn
$ yarn build
LoganSite document
More to see: LoganSite
Best Practices
Before Logan available, log report system is relatively scattered.
To put it simply, the traditional idea is to piece together the problems that appear in the logs of each system, but the new idea is to aggregate and analyze all the logs generated by the user to find the scenes with problems.
The Logan core system consists of four modules:
- Input
- Storage
- BackEnd
- FrontEnd
The new case analysis process is as follows:
Feature
In the future, we will provide a data platform based on Logan big data, including advanced functions such as machine learning, troubleshooting log solution, and big data feature analysis.
Finally, we hope to provide a more complete integrated case analysis ecosystem.
Module | Open Source | Processing | Planning |
---|---|---|---|
iOS & macOS | √ | ||
Android | √ | ||
Web | √ | ||
Mini Programs | √ | ||
Back End | √ | ||
Front End | √ |
Contributing
For more information about contributing PRs and issues, see our Contribution Guidelines.
Authors
-
White Bai - Core Developer - baitian0521
-
Richard Cao - Core Developer - Richard-Cao
-
jiangteng - Core Developer - jiangteng
-
yangxiangnan - Core Developer - yangxiangnan
-
Mr-xiaojun - Core Developer - Mr-xiaojun
See also the list of contributors who participated in this project.
License
Logan is licensed under the MIT License - see the LICENSE file for details.
Article
A lightweight case logging system based on mobile platform developed by Meituan-Dianping — Logan