Create logger.md
This commit is contained in:
parent
d5f4d3f091
commit
d2d511a823
65
docs/ru/interfaces/logger.md
Normal file
65
docs/ru/interfaces/logger.md
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
# Logger
|
||||||
|
|
||||||
|
|
||||||
|
## Введение
|
||||||
|
Логирование неотъемлимая часть программирования, соответственно было бы глупо утверждать что в этом проекте его не будет. Класс Logger представляет из себя интерфейс взаимодействия с конечным пользователем посредством **Serial** порта используя переферийное ядро как показано на диаграмме.
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="https://github.com/Lisoveliy/SVET/blob/master/docs/LoggerIOArch.drawio.svg?raw=true" alt="Logger IO Arch"/>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
Можно заметить что все сервисы внутри ядра 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
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
### 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
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
### 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
|
Loading…
x
Reference in New Issue
Block a user