armink/easylogger

An ultra-lightweight(ROM<1.6K, RAM<0.3k), high-performance C/C++ log library. | 一款超轻量级(ROM<1.6K, RAM<0.3k)、高性能的 C/C++ 日志库

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 47 minutes ago
Added to GitGenius on September 14th, 2026
Created on May 9th, 2015
Open Issues & Pull Requests: 81 (+0)
GitHub issues: Enabled
Number of forks: 1,317
Total Stargazers: 4,750 (+0)
Total Subscribers: 247 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 9.4 hours
Mean response time: 22.0 days
90th percentile: 154.7 days
Tracked items: 8

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 12
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 538 days
Stale 30+ days: 11
Stale 90+ days: 10

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

EasyLogger is a lightweight C/C++ logging library designed for resource-constrained embedded systems.

The tool addresses the need for logging in environments where memory and storage are severely limited, such as IoT devices, wearables, and smart home products. It achieves this through an ultra-compact footprint while maintaining high performance. Rather than implementing a monolithic feature set, EasyLogger provides a minimal core API that handles the essentials: log level filtering, timestamp and thread information inclusion, and thread-safe output. The architecture supports custom output backends, allowing developers to direct logs to terminals, files, serial ports, Flash storage, or other destinations. The tool includes both synchronous and asynchronous output modes, with buffering support for efficiency.

Developers should choose EasyLogger when working on projects where ROM usage under 1.6K and RAM usage under 0.3K are hard constraints. It suits bare-metal platforms and embedded operating systems including RT-Thread, UCOS, Linux, Windows, and Nuttx. The tool is simpler than alternatives like log4c and zlog, with fewer API functions and a faster learning curve, though this simplicity comes at the cost of less built-in functionality. The plugin architecture allows extending capabilities through add-ons for Flash storage and file operations without modifying the core library.

The project maintains active development with ongoing plugin expansion. Community contributions are explicitly welcomed for new plugins and features. The codebase demonstrates attention to practical embedded use cases, with support for raw log formats, hexdump output, dynamic filtering by tag and keyword, and per-level color customization. Documentation is provided in Chinese with API references covering the kernel functionality and configuration options.