Веб-приложение 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.