Repolode
armink

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. 1

    Перед переносом прочитайте документацию на китайском языке в docs/zh

  2. 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 обновляется ежедневно.

Похожие проекты

Библиотека логирования для Python, которая заменяет настройку стандартного logging единым логгером, ротацией файлов, цветным выводом и структурированными логами.

24,2 тыс.834PythonMITАктивно поддерживаетсяОбновлён 4 дня назад

Кроссплатформенный инструмент командной строки и система сборки для разработки встраиваемого ПО: управление библиотеками, поддержка разных плат и фреймворков, отладка и модульное тестирование.

9,6 тыс.+8 за неделю917PythonApache-2.0Активно поддерживаетсяОбновлён 22 дня назад

Универсальный логгер для TypeScript и JavaScript: удобный вывод в терминал, JSON с полями в начале, маскирование секретов и отсутствие runtime-зависимостей.

1,8 тыс.+1 за неделю74TypeScriptMITАктивно поддерживаетсяОбновлён 4 дня назад