Библиотека логирования для Python, которая заменяет настройку стандартного logging единым логгером, ротацией файлов, цветным выводом и структурированными логами.
armink/EasyLogger
Сверхлёгкая библиотека логирования на C/C++ для встраиваемых устройств с ограниченными ресурсами: фильтрация, цветной вывод и настраиваемые приёмники.
- Звёзды
- 4,799
- Форки
- 1,323
- Открытые issues
- 82
- Последний коммит
- позавчера
Что это?
EasyLogger — библиотека логирования на C/C++ для проектов с ограниченными ресурсами, например IoT-устройств, носимой электроники и устройств умного дома. Она рассчитана на минимальный размер кода и расход RAM, а её интерфейс намеренно оставлен компактным — поэтому освоить её проще, чем более тяжёлые библиотеки вроде log4c или zlog.
Назначение вывода задаёт пользователь: сообщения можно отправлять в терминал, файл, базу данных, последовательный порт, RS-485 или flash-память. В каждую запись можно включить уровень, временную метку, сведения о потоке и процессе. Фильтрация по тегу, уровню или ключевому слову работает как на этапе компиляции, так и во время выполнения. Для разных уровней используются разные цвета; поддерживаются форматы RAW и hexdump. Библиотека работает на RT-Thread, uC/OS, Linux, Windows, NuttX и bare-metal-платформах, а также поддерживает потокобезопасный, асинхронный и буферизованный вывод.
Дополнительные возможности, такие как хранение логов во flash-памяти (с помощью EasyFlash) и ротация файлов, доступны в виде плагинов.
Ключевые возможности
- 01Минимальный размер: менее 1,6 КБ ROM и 0,3 КБ RAM.
- 02Настраиваемые пользователем приёмники вывода: терминал, файл, flash-память, последовательный порт или база данных.
- 03Статическая и динамическая фильтрация по тегу, уровню и ключевому слову.
- 04Потокобезопасный, асинхронный и буферизованный режимы вывода.
- 05Цветной вывод для каждого уровня, а также форматы RAW и hexdump.
- 06Плагины для хранения логов во flash-памяти и ротации файлов.
Сценарии использования
- Логирование в прошивках IoT-устройств и носимой электроники с ограниченными ресурсами.
- Отладка встраиваемых устройств на RT-Thread или bare-metal-платформах.
- Хранение логов устройства во flash-памяти в системах без файловой системы.
- Добавление фильтрации логов по тегам в крупный проект на C.
Быстрый старт
- 1
Перед переносом прочитайте документацию на китайском языке в docs/zh
- 2
Перенесите библиотеку в свой проект, следуя инструкциям в docs/zh/port/kernel.md
Что важно знать
- Установка через менеджер пакетов не предусмотрена; исходный код необходимо перенести в свой проект.
- Конфигурация представляет собой глобальный синглтон, поэтому сложные настройки для разных выходных данных не поддерживаются.
- Основная документация и README написаны на китайском языке.
В подборках
Темы
Частые вопросы
- Что такое EasyLogger?
- Сверхлёгкая библиотека логирования на C/C++ для встраиваемых устройств с ограниченными ресурсами: фильтрация, цветной вывод и настраиваемые приёмники. EasyLogger — библиотека логирования на C/C++ для проектов с ограниченными ресурсами, например IoT-устройств, носимой электроники и устройств умного дома. Она рассчитана на минимальный размер кода и расход RAM, а её интерфейс намеренно оставлен компактным — поэтому освоить её проще, чем более тяжёлые библиотеки вроде log4c или zlog.
- EasyLogger можно использовать бесплатно? Какая у него лицензия?
- EasyLogger распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- EasyLogger всё ещё поддерживается?
- Активно поддерживается. Последний коммит в EasyLogger — 5 нояб. 2026 г..
- Для чего можно использовать EasyLogger?
- Логирование в прошивках IoT-устройств и носимой электроники с ограниченными ресурсами. Отладка встраиваемых устройств на RT-Thread или bare-metal-платформах. Хранение логов устройства во flash-памяти в системах без файловой системы. Добавление фильтрации логов по тегам в крупный проект на C.
- Как установить EasyLogger?
- Перед переносом прочитайте документацию на китайском языке в docs/zh Перенесите библиотеку в свой проект, следуя инструкциям в docs/zh/port/kernel.md
- Где скачать EasyLogger?
- Исходный код и инструкции по установке — на GitHub: https://github.com/armink/EasyLogger
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Масштабируемая операционная система реального времени (RTOS) для микроконтроллеров с ограниченными ресурсами и IoT-устройств на множестве архитектур CPU.
Кроссплатформенный инструмент командной строки и система сборки для разработки встраиваемого ПО: управление библиотеками, поддержка разных плат и фреймворков, отладка и модульное тестирование.
Универсальный логгер для TypeScript и JavaScript: удобный вывод в терминал, JSON с полями в начале, маскирование секретов и отсутствие runtime-зависимостей.
Кроссплатформенный USB Host- и Device-стек с открытым исходным кодом для встраиваемых систем: безопасная работа с памятью и потоками, поддержка более 50 семейств MCU.
Библиотека логирования для JavaScript и TypeScript без зависимостей, работающая в Deno, Node.js, Bun, браузерах и edge-функциях.