архитектуру.
У меня есть устройство, к которому подключено много разных модулей. Модуль диагностики, модуль ретрансляции и т.д. Что-то типа эмуляции физического устройства. Каждый модуль работает в отдельной горутине. Есть фатальные ошибки которые должны немедленно завершать работу устройства, а есть ошибки которые не особо то и фатальные, просто они должны быть обработаны пользователем вручную и он должен принимать решение, завершить работу устройства или нет.
Я подумал , у меня есть функция Init() которая инициализирует и запускает в работу устройство и возвращает только фатальные ошибки, то есть по факту устройство работает в бесконечном цикле и завершает работу только при наличии фатальной ошибки, или при помощи функции Shutdown() чтобы пользователь мог мануально завершить работу устройства. Но, чтобы пользователь мог мониторить все поступающие ошибки от всех компонентов я дам ему функцию Errors() <-chan error , которая будет возвращать канал в которые будут время от времени поступать ошибки чтобы он сам мог их мониторить
Есть методика получше? Или эту тоже можно юзать?
Логирование также присутствует. Я вот сейчас так задумался, а действительно может просто не фатальные ошибки записывать в лог файл, и пусть потом юзер разбирается с этими логами , а прекращать работу только при фатальных ...
Вообще, как именно логировать вытекает из организации этого логирования и мониторинга. Ты. Можешь как угодно сделать наобум, а потом придет условный адмен и скажет, что мониторить так у них никто не будет и давай ка ты переделаешь. Потому что судя по вопросу, вы это никак с эксплуатауией не обсуждали и в тз никак не отображено
Обсуждают сегодня