# meituan-dianping/logan

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/meituan-dianping-logan).**

6,013 stars · 903 forks · C · MIT

## Links

- GitHub: https://github.com/Meituan-Dianping/Logan
- Homepage: https://tech.meituan.com/logan_open_source.html
- awesome-repositories: https://awesome-repositories.com/repository/meituan-dianping-logan.md

## Description

Logan is a cross-platform mobile logging framework that collects, stores, and uploads client-side logs from iOS, Android, Web, and Flutter environments for centralized debugging and analysis. It provides a complete pipeline from client-side log buffering and file-based local storage through to server-side ingestion and a visual browser for inspecting parsed logs.

The system uses a structured binary protocol to encode log entries with content, type, timestamp, and thread metadata, enabling consistent parsing across platforms. A log receiving server handles uploaded files, while a web-based interface allows searching, scanning, and browsing logs from multiple sessions. The framework also supports viewing local log file metadata on devices and aggregating logs from all sources into a single backend for unified problem analysis.

## Tags

### Part of an Awesome List

- [Cross-Platform Log Collection](https://awesome-repositories.com/f/awesome-lists/devtools/debugging-and-logging/cross-platform-log-collection.md) — Collecting, storing, and uploading logs from iOS, Android, Web, and Flutter apps for centralized debugging.
- [Structured Log Parsing](https://awesome-repositories.com/f/awesome-lists/data/xml-parsing/structured-log-parsing.md) — Parses client-uploaded logs using a defined protocol that extracts content, type, timestamp, thread name, thread ID, and main-thread flag. ([source](https://github.com/Meituan-Dianping/Logan/wiki/Log-protocol))

### System Administration & Monitoring

- [Cross-Platform Logging Frameworks](https://awesome-repositories.com/f/system-administration-monitoring/system-logging-and-debugging/cross-platform-logging-frameworks.md) — A cross-platform logging system that collects, stores, and uploads client-side logs from iOS, Android, Web, and Flutter apps for centralized debugging and analysis.
- [Cross-Platform Logging Modules](https://awesome-repositories.com/f/system-administration-monitoring/application-performance-monitoring-platforms/cross-platform-monitors/cross-platform-logging-modules.md) — The system provides a unified logging interface across iOS, Android, Web, and Flutter platforms.
- [Log Browsers](https://awesome-repositories.com/f/system-administration-monitoring/log-aggregation/log-statistics-visualizers/log-browsers.md) — A web-based interface allows searching, scanning, and inspecting parsed logs from multiple sessions.
- [Cross-Platform Log Collectors](https://awesome-repositories.com/f/system-administration-monitoring/log-collection-partitioning/cross-platform-log-collectors.md) — Collects, stores, and uploads client-side logs from iOS, Android, Web, and Flutter environments for centralized debugging. ([source](https://cdn.jsdelivr.net/gh/meituan-dianping/logan@master/README.md))
- [Client-Side Log Collectors](https://awesome-repositories.com/f/system-administration-monitoring/logging-and-telemetry/client-side-log-collectors.md) — Captures and persists log entries on mobile and web devices for later retrieval and upload to a remote server.
- [Log Search Engines](https://awesome-repositories.com/f/system-administration-monitoring/logging-and-telemetry/log-search-engines.md) — Provides a visual interface to search, scan, and browse uploaded logs from apps and web. ([source](https://cdn.jsdelivr.net/gh/meituan-dianping/logan@master/README.md))
- [Debug Log Uploaders](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/log-management-systems/debug-logging-management/debug-log-uploaders.md) — Transmits locally stored log files to a configured server endpoint for centralized collection and analysis. ([source](https://github.com/Meituan-Dianping/Logan/wiki/How-to-use-demo))
- [Client-Side Log Uploaders](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/log-management-systems/debug-logging-management/debug-log-uploaders/client-side-log-uploaders.md) — Transmitting local log files to a remote server and receiving them for parsing and storage.
- [Visual Log Browsers](https://awesome-repositories.com/f/system-administration-monitoring/logging-and-telemetry/log-search-engines/visual-log-browsers.md) — Providing a visual interface to search, scan, and browse uploaded logs from apps and web.
- [Log Receiving Servers](https://awesome-repositories.com/f/system-administration-monitoring/logging-configuration/installation-log-servers/log-receiving-servers.md) — Starts a local server that receives uploaded log files, parses them, and saves the parsed output as text files. ([source](https://github.com/Meituan-Dianping/Logan/wiki/How-to-use-demo))

### Data & Databases

- [Log Buffering](https://awesome-repositories.com/f/data-databases/asynchronous-write-buffering/log-buffering.md) — Logs are written to local storage in a buffered manner before being uploaded to a remote server for analysis.
- [Local File Storage](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage/file-based-storage/local-file-storage.md) — Logs are persisted as files on the device's file system for later retrieval and upload.
- [Local File Writing](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage/file-based-storage/local-file-storage/local-file-writing.md) — Writes log entries to the device's local file system for later retrieval or upload. ([source](https://github.com/Meituan-Dianping/Logan/wiki/How-to-use-demo))
- [Performance Log Storage](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage/file-based-storage/local-file-storage/local-file-writing/performance-log-storage.md) — Writes log entries to local storage on the device for later retrieval and analysis. ([source](https://github.com/Meituan-Dianping/Logan/wiki/How-to-use-demo))
- [Structured Log Ingestion](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-transformation/stream-pipeline-orchestration/log-ingestion-apis/structured-log-ingestion.md) — A local or remote server receives uploaded log files, parses them using the structured protocol, and saves the results.
- [Log Aggregators](https://awesome-repositories.com/f/data-databases/log-aggregators.md) — Combines logs from all sources into a single backend for unified analysis and problem discovery. ([source](https://cdn.jsdelivr.net/gh/meituan-dianping/logan@master/README.md))
- [Local Device](https://awesome-repositories.com/f/data-databases/mysql-integrations/log-storage/local-device.md) — Writing log entries to device storage and viewing metadata of stored log files.

### Software Engineering & Architecture

- [Log Parsing](https://awesome-repositories.com/f/software-engineering-architecture/custom-log-formatting/log-parsing.md) — Parses uploaded logs using a structured protocol that extracts content, type, timestamp, thread name, thread ID, and main-thread flag. ([source](https://github.com/Meituan-Dianping/Logan/wiki/Log-protocol))
- [Binary Log Protocols](https://awesome-repositories.com/f/software-engineering-architecture/custom-log-formatting/log-parsing/binary-log-protocols.md) — Defines a structured format for log entries that extracts content, type, timestamp, thread metadata, and main-thread flag.
- [Structured Logging](https://awesome-repositories.com/f/software-engineering-architecture/structured-logging.md) — Log entries are encoded with a defined binary protocol that includes content, type, timestamp, and thread metadata.

### Development Tools & Productivity

- [Log Browsers](https://awesome-repositories.com/f/development-tools-productivity/browser-based-app-inspection/log-browsers.md) — Provides a visual tool to search, scan, and inspect uploaded logs from apps and web browsers for debugging.
