Веб-приложение ASP.NET в Azure - Как регистрировать ошибки?

У меня есть веб-приложение, развернутое в azure, но я не знаю, как регистрировать ошибки.

Для целей тестирования у меня есть этот метод ForceError:

public string ForceError()
{
    throw new Exception("just a test exception");
    return "ok";
}

Какие причины и ошибки выглядят следующим образом: введите описание изображения здесь

В Azure я включил все журналы диагностики следующим образом: введите описание изображения здесь

Но ошибка, которую я принудительно, не отображается в выбранном контейнере хранения.

Знаете ли вы, что делать, чтобы начать регистрировать все ошибки из приложения?

Ответ 1

На веб-сайтах Azure лучшим способом регистрации будет Application Insights, вы можете использовать бесплатную версию, чтобы получить информацию о сбоях/скорости/производительности.

Однако Application Insights немного медленнее, если вы включите все. Но если вы настроите его и включите только регистрацию ошибок, он будет выталкивать все журналы в вашу учетную запись azure-приложений, и вы сможете очень хорошо ее отслеживать/анализировать.

Подробнее: https://azure.microsoft.com/en-in/documentation/articles/app-insights-api-custom-events-metrics/

Вместо автоматической настройки Application Insights, я бы предложил, возьмите пустой проект, настройте представление приложений. Обратите внимание на все добавленные файлы конфигурации и пакеты nuget. Существует некоторый файл конфигурации insight, кроме ключа/подписи приложения, вы можете отключить все.

Только если вы хотите вручную отслеживать исключение, вы можете создать TelemetryClient и вызвать метод TrackException. Вы можете передать более подробную информацию, если вам нужно.

Ответ 2

Я боюсь, что простое исключение не работает в регистрации Azure Web-приложений.

Приложения ASP.NET могут использовать класс System.Diagnostics.Trace для записи информации в журнал диагностики приложений. Ниже приведенные четыре метода соответствуют уровням диагностического журнала:

Trace.TraceError("Message"); // Write an error message   
Trace.TraceWarning("Message"); // Write a warning message
Trace.TraceInformation("Message"); // Write an information message
Trace.WriteLine("Message"); // Write a verbose message

введите описание изображения здесь

Помимо основной информации для зарегистрированных событий, blob storage logging содержит дополнительную информацию, такую ​​как идентификатор экземпляра, идентификатор потока и более гранулированную временную метку (формат галочки) в CSV.

введите описание изображения здесь

Отличная статья здесь о советах и ​​инструментах ведения журнала.

См. также ссылку на официальный Документ регистрации Azure Web Apps.