Ведение журнала вызовов Graph SDK в Application Insights (в функции Azure)

#logging #azure-functions #microsoft-graph-sdks

#ведение журнала #azure-функции #microsoft-graph-sdks

Вопрос:

Я вызываю Graph API (MS Graph .NET SDK) в своей функции Azure и хочу видеть эти вызовы в Application Insights. Однако, похоже, они никогда не регистрируются.

Другое ведение журнала отображается, как и ожидалось.

Моя конфигурация ведения журнала такова:

   "logging": {
    "logLevel": {
      "Default": "Trace",
      "Host": "Warning",
      "System.Net.Http.HttpClient": "Trace"
    },
    "applicationInsights": {
      "samplingExcludedTypes": "Request",
      "samplingSettings": {
        "isEnabled": true
      }
    }
  },
 

Я попытался logLevel полностью удалить или только установить Default: trace , но, похоже, ничего не помогает.

Возможно, в HttpClient Graph SQK требуется что-то особенное?

Для полноты:

Клиент GraphSDK зарегистрирован:

 services
    .AddSingleton<IGraphServiceClient>(provider =>
    {
        var tokenProvider = provider.GetRequiredService<IAccessTokenProvider>();

        var authenticationProvider = new DelegateAuthenticationProvider(async request =>
        {
            request
                .Headers
                .Authorization = new AuthenticationHeaderValue("Bearer", "token...");
        });

        return new GraphServiceClient(authenticationProvider);
    });
 

И я использую клиент как:

 public class MyFunc {
    private readonly IGraphServiceClient _client;
    public MyFunc(IGraphServiceClient client) { _client = client; }

    public async Task Run() {
        var groups = await _client.Groups.Request().Get();
    }
}
 

Комментарии:

1. проверяете ли вы их в журналах dependencies table Application insights?

2. Да, вам нужно проверить таблицу зависимостей app insights?

3. Зависимости действительно регистрируются, но я также хотел бы видеть журналы трассировки / отладки / информации, что должно быть возможно с использованием категории System.Net.Http. * log .

Ответ №1:

Эти операции должны быть помечены как зависимости.

Пожалуйста, перейдите на портал Azure -> application insights -> Logs -> в dependencies таблицу и проверьте, есть ли журналы.

Комментарии:

1. Зависимости действительно регистрируются, но я также хотел бы видеть журналы трассировки / отладки / информации, что должно быть возможно с использованием категории System.Net.Http. * log .