EasyLogger — это сверхлегковесная (ROM < 1.6 КБ, RAM < 0.3 КБ) и высокопроизводительная библиотека логирования для C/C++, идеально подходящая для проектов с ограниченными ресурсами, таких как продукты IoT, носимые устройства, умный дом и т.д. По сравнению с известными библиотеками логирования для C/C++ (например, log4c, zlog), функционал EasyLogger более простой, предоставляются меньше интерфейсов, но он быстрее в освоении. Дополнительные полезные функции поддерживаются в виде плагинов.
- RAW формат: сырые логи без форматирования;
- Тег: в программе можно использовать теги для разделения логов по файлам, модулям, функциям и т.д., что позволяет организовать логи по категориям.
Позже я добавлю больше плагинов. Также приветствуем ваши предложения по созданию новых полезных плагинов и функций, чтобы вместе сделать EasyLogger ещё лучше (GitHub|OSChina|Coding). Если вам понравился этот открытый проект, вы можете нажать на кнопку Star в верхнем правом углу страницы проекта и порекомендовать его другим заинтересованным пользователям.
Соответствует уровню Android Logcat, где максимальный уровень равен 0 (Assert), а минимальный — 5 (Verbose).
0.[A]: Ассерт (Assert)
1.[E]: Ошибка (Error)
2.[W]: Предупреждение (Warning)
3.[I]: Информация (Info)
4.[D]: Отладка (Debug)
5.[V]: Подробности (Verbose)
Цвета по умолчанию для каждого уровня лога представлены ниже. Пользователи также могут самостоятельно настроить цвета и стиль шрифта для каждого уровня лога в файле elog_cfg.h
.
Поддерживает фильтрацию по уровням, меткам и ключевым словам. При большом объёме логов использование фильтрации позволяет быстрее находить нужные записи и обеспечивает читаемость логов. Для более подробной информации о настройках фильтрации обратитесь к документу \docs\zh\api\kernel.md
.
Примечание: Логи в RAW-формате и hexdump-формате не поддерживают фильтрацию по меткам и ключевым словам.
При помощи портирования пользователями может поддерживаться любой способ вывода. Однако новые возможности, связанные со специальным способом вывода, должны реализовываться через плагины, такие как: запись логов в файл, поиск логов Flash и т.д. В будущем будут доступны ещё больше плагинов. Ниже приведены сравнительные характеристики некоторых способов вывода:
Ниже приведена схема управления выводом логов и настройки фильтров через командную строку, что наглядно демонстрирует основные возможности EasyLogger.
\demo\os\rt-thread\stm32f10x\
\docs\ru\api\kernel.md
\docs\ru\port\kernel.md
\demo\os\rt-thread\stm32f10x\
\docs\zh\api\flash.md
\docs\zh\port\flash.md
С помощью плагина File можно автоматически сохранять логи в файлы. Размер каждого файла может быть установлен; при превышении этого размера создается новый файл для хранения логов.
Дополнительные детали содержатся в файлах, расположенных по пути \docs\zh\
. Убедитесь, что вы прочитали документацию перед началом процесса портирования.# 4. Поддержка после внедрения
Flash хранение: В EasyFlash добавлены функции записи и чтения логов, что позволяет EasyLogger работать с ними без каких-либо проблем. Это делает хранение логов более удобным в фоновом режиме, а также обеспечивает возможность поиска исторических записей;
Конфигурационные файлы: конфигурационные файлы в файловой системе;
Передача файлов: поддержка передачи файлов по объему и времени в файловой системе;
Логгер: разработка кросс-платформенного логгера, совместимого с Linux, Windows, Mac системами, который позволяет просматривать, фильтровать (поддерживается регулярное выражение), сортировать и сохранять логи при запуске. Фронтенд: HTML5 + Bootstrap + AngularJS + NW.js, бэкенд: Rust + iron + rust-websocket + serial-rs;
Асинхронная запись: в настоящее время запись логов происходит синхронно относительно пользователя, что делает программу простой и исключает проблему перезаписи логов. Однако на платформах с низкой скоростью вывода это может замедлить работу программы из-за добавления функции логирования. Поэтому позднее будет добавлена асинхронная запись, а фильтрация ключевых слов также будет выполнена в рамках асинхронной записи;- [ ] Arduino: добавление библиотеки для Arduino и предоставление демонстрационного примера;
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )