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