Раздельные логи микросервисов

133
18 февраля 2021, 09:00

У меня микросервисное API на dotnet core 2.2 Изучал и брал в пример: https://github.com/dotnet-architecture/eShopOnContainers

Как сделать такие раздельные логи для каждого сервиса?

Answer 1

eShopOnContainers - это пример, хоть и сложный. Он не решает все проблемы - он показывает как разрабатывать микросервисы, но не полностью показывает как их хостить и мониторить.

Судя по всему, на скрине результат запуска docker-compose up. Compose редиректит консольный вывод всех контейнеров в свое окно, приписывая имя сервиса в начале строки.

В реальности у каждого микросервиса - свой output, и если вы захостите тот же самый проект в каком-нибудь Azure AKS, то на выходе вы получите логи в таблице, с отдельной колонкой - именем сервиса, по которому сможете отфильтровать.

Если собирать логи не из консоли, а напрямую через sink в serilog - опять же, решается конфигурацией, а не кодом сервиса. Ведь вас будет интересовать не только имя сервиса, но, например, и версия. Или еще что-то, специфическое для вашего деплоймента. Вы можете дописать уникальные свойства для каждого деплоймента через serilog:enrich:with-property.

READ ALSO
Перезаписываются поля модели

Перезаписываются поля модели

Собственно в list каждый раз должен записываться x,y он и записывается в дебагере видно но после в итоге получается как на скрине все элементы...

85
PHP preg_replace заменить GET параметр

PHP preg_replace заменить GET параметр

Так вот, у меня есть вот такой ЧПУ:

105
Загрузка видео с YouTube через PHP. (get_video_info)

Загрузка видео с YouTube через PHP. (get_video_info)

Не работает скачивание видео через Youtube (php)

117
Почему не выводится первый результат?

Почему не выводится первый результат?

Таблица (результат запроса в менеджере sql)

122