Облачная служба Azure (Classic) - любой способ записи журналов Diagnostic.Trace в хранилище больших двоичных объектов. - PullRequest
1 голос
/ 28 марта 2019

Меня попросили изменить ведение журнала старого работника облачной службы Azure на стиль ведения журнала System.Diagnostics.Trace.Я сделал это, и теперь я готов развернуть его на лазурном.

Требование клиента состоит в том, чтобы эти журналы отображались в хранилище больших двоичных объектов, подобно тому, как более современные журналы службы приложений можно настроить для записи своей диагностики в хранилище больших двоичных объектов.Ожидается, что журналы могут периодически пакетироваться и загружаться (возможно, на основе времени или количества строк).

Есть ли пакет nuget или другая библиотека или конфиг, которые я должен включить, чтобы подключить приложение к хранилищу больших двоичных объектов?Я потратил около 20 минут на поиски решения здесь и в Интернете, но, похоже, в основном речь идет о записи журналов в Table Storage ..

Редактировать: Подробнее:

  • Thisэто существующее приложение (C # .Net Framework 4.5), которое использовало внешнюю службу ведения журнала.
  • Я предположил (я думаю, что неправильно), что протоколирование в хранилище больших двоичных объектов было чем-то, что я мог настроить на портале Azure.
  • Поскольку сейчас все в порядке, никакой файл журнала не создается., но когда я запускаю код в Visual Studio, я вижу некоторые выходные данные из операторов ведения журнала
  • Я обновил код для использования стандартной (настраиваемой) системы ведения журнала, которая в конечном итоге сводится к использованию операторов, подобных приведенным ниже.:

Trace.TraceInformation($"DEBUG: {message}");

Вот некоторые ссылки, которые я нашел с соответствующей информацией:

Потоковая передача из командной строки

Вопрос слушателя трассировки

Добавление трассировки на существующий веб-сайт

Влияние производительности на ведение журнала

Smarx Library

Ответы [ 2 ]

1 голос
/ 28 марта 2019

Ведение журнала настраивается с помощью файла diagnostics.wadcfgx, который вы можете увидеть в своем решении.

enter image description here

Содержит всю диагностическую информацию, которую вы хотите собрать.Это можно контролировать через «Свойства» роли Web \ Worker (щелкните правой кнопкой мыши -> Свойства).

Оттуда также есть возможность указать учетную запись хранения: enter image description here

Это не всегда идеально, если вы развертываете в нескольких средах, поэтомувы сможете изменить конфигурацию на портале Azure, загрузив и загрузив новую конфигурацию , следуя этим инструкциям .

1 голос
/ 28 марта 2019

Так что входя в хранилище BLOB-объектов, воспринимайте это как загрузку существующих файлов в хранилище BLOB-объектов.Если ваше текущее приложение создает файлы, то для добавления этих файлов в хранилище BLOB-объектов следует использовать свойство put blob или blob append.Таким образом, вы должны взаимодействовать с SDK хранилища для выполнения этих транзакций.Вы также можете использовать логические приложения , которые используют коннекторы для блобирования хранилища и выполняют определенные действия на основе определенных триггеров (отметка времени и другие условия).

Если вы хотите просмотреть сгенерированные журналы в хранилище Azure, вам нужно включить диагностику Azure , но эти журналы будут относиться к самой учетной записи хранения, а не к вашему приложению.

Поскольку вы упомянули, что видите выходные данные, вы должны передать эти выходные данные как объект ex: (текстовый файл), а затем загрузить его в учетную запись хранения.Вы можете найти информацию о SDK для C # здесь .Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...