1

Я регистрирую мои необработанные исключения в ExceptionLogger, используя TelemetryClient для Application Insights on Azure.Как зарегистрировать тело запроса веб-API ASP.NET в результате сбоя приложения?

public class GlobalExceptionLogger : ExceptionLogger 
{ 
    public override void Log(ExceptionLoggerContext context) 
    { 
     if (context != null && context.Exception != null) 
     { 
       //For simplification a new TelemetryClient instance 
       //This is not recommended! 
       new TelemetryClient().TrackException(context.Exception); 
     } 
     base.Log(context); 
    } 
} 

Есть ли способ, чтобы войти в тело запроса Web API, так что я могу просмотреть его на приборную панель приложений Insights на Azure Portal?

ответ

2

Вы можете создать экземпляр ExceptionTelemetry и добавить пользовательские свойства. Затем вызовите метод общей дорожки.

var telemetry = new ExceptionTelemetry(context.Exception); 
telemetry.Properties.Add("name", "value"); 
new TelemetryClient().Track(telemetry); 
+0

есть также версия 'Track *' методы, принимающие словари, так что вы можете сделать что-то вроде 'новый TelemetryClient(). TrackException (е, новый словарь {{ "ключ", "value"}, {"key2", "value2"}}); ' –

 Смежные вопросы

  • Нет связанных вопросов^_^