Meituan-Dianping / Logan

Logan is a lightweight case logging system based on mobile platform.
https://tech.meituan.com/logan_open_source.html
MIT License
5.73k stars 876 forks source link

Logan

license Release Version PRs Welcome Platform Support

中文说明

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

Logan

Overivew of LoganSite

Search Logs

Logan

Log Detail

Logan

How to use demo

Log protocol

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

Server

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.

Before_Logan

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:

Logan_Process

The new case analysis process is as follows:

Logan_Case

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.

Logan_System

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

See also the list of contributors who participated in this project.

Contact

WeChat ID:

MTDPtech, MTDPtech01, MTDPtech03

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

Logan: Open Source

Introduction to Logan Web SDK

Acknowledgments