EasyLogger
EasyLogger — это сверхлёгкая (ROM < 1,6 КБ, RAM < 0,3 КБ), высокопроизводительная C/C++ библиотека журналов, которая идеально подходит для проектов программного обеспечения с ограниченными ресурсами, таких как IoT-продукты, носимые устройства и «умные» дома. По сравнению с известными библиотеками журналов C/C++, такими как log4c и zlog, EasyLogger имеет более простой функционал, предоставляет меньше интерфейсов для пользователей, но быстро осваивается и поддерживает больше практических функций в виде динамически расширяемых плагинов.
Примечание:
- RAW-формат: необработанный исходный журнал без форматирования.
- Метка: в программном обеспечении можно установить метки для журналов, которые необходимо распечатать, в соответствии с файлами, модулями, функциями и другими аспектами, чтобы реализовать классификацию журналов.
В будущем я буду предоставлять больше плагинов. Также приветствуются разработки и создание дополнительных полезных плагинов и функций от сообщества, чтобы вместе совершенствовать EasyLogger (Github, OSChina, Coding). Если вам нравится этот открытый проект, вы можете нажать на кнопку «Star» в правом верхнем углу главной страницы проекта, а также рекомендовать его другим заинтересованным пользователям.
EasyLogger поддерживает методы фильтрации, форматы вывода и переключатели вывода.
Примечание: В настоящее время параметры конфигурации и методы вывода являются одноэлементными, то есть глобально поддерживается только один метод конфигурации. В этом режиме программное обеспечение будет проще, но не сможет поддерживать сложные методы вывода.
Уровни журнала соответствуют Android Logcat, где самый высокий уровень равен 0 (Assert), а самый низкий — 5 (Verbose).
0.[A]:断言(Assert)
1.[E]:错误(Error)
2.[W]:警告(Warn)
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\zh\api\kernel.md
\docs\zh\port\kernel.md
Рисунок ниже показывает процесс вывода журнала через консоль и сохранения выведенного журнала во Flash. После перезапуска можно прочитать сохранённый журнал, а затем очистить журнал Flash.
\demo\os\rt-thread\stm32f10x\
\docs\zh\api\flash.md
\docs\zh\port\flash.md
С помощью плагина File можно автоматически сохранять журналы в файлы. Для каждого файла можно задать размер, и когда размер превысит установленный предел, новый файл будет создан для хранения журналов. ### rust-websocket + serial-rs
X. Асинхронный вывод. В настоящее время вывод логов и пользовательский код синхронизированы. Такой подход делает программное обеспечение простым и предотвращает проблему перезаписи логов. Однако на платформах с низкой скоростью вывода из-за добавления функций логирования может замедлиться работа программы. Поэтому в будущем планируется добавить асинхронный способ вывода, а также можно будет включить в него фильтрацию по ключевым словам.
[ ] Arduino. Планируется добавить библиотеку Arduino и предоставить демонстрационный пример её использования.
MIT Copyright (c) armink.ztl@gmail.com
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )