From d2d511a82371925ceb7d896f8cc77dc55df111eb Mon Sep 17 00:00:00 2001 From: Saveliy Savenak <56991906+Lisoveliy@users.noreply.github.com> Date: Fri, 14 Jun 2024 20:48:45 +0300 Subject: [PATCH] Create logger.md --- docs/ru/interfaces/logger.md | 65 ++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 docs/ru/interfaces/logger.md diff --git a/docs/ru/interfaces/logger.md b/docs/ru/interfaces/logger.md new file mode 100644 index 0000000..e029ece --- /dev/null +++ b/docs/ru/interfaces/logger.md @@ -0,0 +1,65 @@ +# Logger + + +## Введение +Логирование неотъемлимая часть программирования, соответственно было бы глупо утверждать что в этом проекте его не будет. Класс Logger представляет из себя интерфейс взаимодействия с конечным пользователем посредством **Serial** порта используя переферийное ядро как показано на диаграмме. + +

+Logger IO Arch +

+ +Можно заметить что все сервисы внутри ядра SVET передают в логгер информацию для удобства отладки и программирования. Это поведение можно настроить(например отключить логи ядра полностью) при создании класса ```SVET``` с помощью ```SVETBuilder```. Так же, можно заметить что логгер находится за пределами ядра и является интерфейсом взаимодействия с пользователем. Это означает что его можно использовать для своих собственных целей даже если логирование самого ядра отключено. Для этого у класса ```Logger``` есть публичные методы для логирования. + +## Публичные методы: + +### Info + + void Info(char* data, char* initiator = nullptr); + +Метод для логирования информации. + +Где ```data``` - строка с сообщением которое нужно отобразить + +Где ```initiator``` - строка которая отображает от кого поступил лог + +Пример отображения в Serial мониторе: + + [INFO] Core: Core never changes //Сообщение от ядра + [INFO]: Hello world! //Если initiator не передан + [INFO] main.cpp: Hello world! //Если initiator передан и не равен nullptr + +
+ +### Warn + + void Warn(char* data, char* initiator = nullptr); + +Метод для логирования информации требующей внимания. + +Где ```data``` - строка с сообщением которое нужно отобразить + +Где ```initiator``` - строка которая отображает от кого поступил лог + +Пример отображения в Serial мониторе: + + [WARN] Core: Core will changed... //Сообщение от ядра + [WARN]: Hello warn! //Если initiator не передан + [WARN] main.cpp: Hello world! //Если initiator передан и не равен nullptr + +
+ +### Error + + void Error(char* data, char* initiator = nullptr); + +Метод для логирования информации об ошибке. + +Где ```data``` - строка с ошибкой которую нужно отобразить + +Где ```initiator``` - строка которая отображает от кого поступил лог + +Пример отображения в Serial мониторе: + + [ERROR] Core: Core changed!!! //Сообщение от ядра + [ERROR]: Exception! //Если initiator не передан + [ERROR] main.cpp: Hello world! //Если initiator передан и не равен nullptr