Сообщения о трассировке, отладке и информации не достигают App Insights от WorkerService

Я провел весь последний день, пытаясь найти что-нибудь, чтобы объяснить, почему я не вижу никаких сообщений о трассировке, отладке или информационных сообщениях в аналитике приложений, когда запускаю свой WorkerService в Azure. WorkerService размещается на виртуальной машине Linux (Ubuntu 18.4) в нашем корпоративном пространстве и во всех остальных отношениях работает нормально.

Критические сообщения, сообщения об ошибках и предупреждения проходят, поэтому соединение установлено правильно, но что-то, похоже, фильтрует сообщения в конце процесса.

Соответствующая часть журнала appsettings.json выглядит следующим образом:

  "Logging": {
    "LogLevel": {
      "Default": "Trace",
      "System": "Trace",
      "Microsoft": "Trace"
    }
  },
  "ApplicationInsights": {
    "LogLevel": {
      "Default": "Trace",
      "System": "Trace",
      "Microsoft": "Trace"
    }
  },

... который должен пропустить все, что я ожидал. Мой тестовый код...

log.LogTrace("WorkerService: Trace");
log.LogDebug("WorkerService: Debug");
log.LogInformation("WorkerService: Information");
log.LogWarning("WorkerService: Warning");
log.LogError("WorkerService: Error");
log.LogCritical("WorkerService: Critical");

... но я заметил, что когда я запускаю код локально, окно вывода показывает следующее...

Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: Information: Executing action method MyWorkerService.Features.HealthCheck.HealthCheckController.GetAdvancedHealthCheck (MyWorkerService) - Validation state: Valid
MyWorkerService.Features.HealthCheck.GetAdvancedHealthCheck.Handler: Trace: Trace
MyWorkerService.Features.HealthCheck.GetAdvancedHealthCheck.Handler: Debug: Debug
MyWorkerService.Features.HealthCheck.GetAdvancedHealthCheck.Handler: Information: Information
MyWorkerService.Features.HealthCheck.GetAdvancedHealthCheck.Handler: Warning: Warning
Application Insights Telemetry: {"name":"AppTraces","time":"2020-12-15T08:04:49.6657815Z","iKey":"8d4d3ae1-xxxx-xxxx-xxxx-029e472df754","tags":{"ai.application.ver":"1.0.0.0" ...<snip>... "TraceId":"520378xxxxxxxxxxxxxxxxxxxxe5a1b5"}}}}
MyWorkerService.Features.HealthCheck.GetAdvancedHealthCheck.Handler: Error: Error
Application Insights Telemetry: {"name":"AppTraces","time":"2020-12-15T08:04:49.6688389Z","iKey":"8d4d3ae1-xxxx-xxxx-xxxx-029e472df754","tags":{"ai.application.ver":"1.0.0.0" ...<snip>... "TraceId":"520378xxxxxxxxxxxxxxxxxxxxe5a1b5"}}}}
MyWorkerService.Features.HealthCheck.GetAdvancedHealthCheck.Handler: Critical: Critical
Application Insights Telemetry: {"name":"AppTraces","time":"2020-12-15T08:04:49.6854384Z","iKey":"8d4d3ae1-xxxx-xxxx-xxxx-029e472df754","tags":{"ai.application.ver":"1.0.0.0" ...<snip>... "TraceId":"520378xxxxxxxxxxxxxxxxxxxxe5a1b5"}}}}

... что также предполагает, что сообщения трассировки, отладки и информации не отправляются в Azure.

Я использую пакет nuget «Microsoft.ApplicationInsights.WorkerService» Version = «2.16.0», но не вижу, что еще мне нужно настроить, чтобы изменить фильтр, ограничивающий передаваемые данные.

Любая помощь или предложения с благодарностью принимаются.

пожалуйста, добавьте заполненный файл appsettings.json.

Ivan Glasenberg 16.12.2020 02:07

Вся остальная информация в файле appsettings.json не связана с ведением журнала, относится к конкретному приложению и содержит конфиденциальную информацию — это единственная важная часть.

Mike 16.12.2020 03:03
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
937
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Для appsettings.json убедитесь, что вы установили свойство copy to output directory как copy if newer (в Visual Studio щелкните правой кнопкой мыши appsettings.json -> выберите свойства).

А затем поместите раздел ApplicationInsights в раздел Logging. Как показано ниже:

{
  "Logging": {
    "LogLevel": {
      "Default": "Trace",
      "Microsoft": "Trace",
      "Microsoft.Hosting.Lifetime": "Trace"
    },
    "ApplicationInsights": {
      "LogLevel": {
        "Default": "Trace",
        "System": "Trace",
        "Microsoft": "Trace"
      }
    }
  }
}

Вот результат теста на моей стороне:

Извините за задержку, я был в отпуске :) Кажется, образцы, которые я использовал, не отображали раздел ApplicationInsights в разделе ведения журналов, но как отдельный раздел — немного запутанный, но теперь все отсортировано. Ваше здоровье.

Mike 04.01.2021 05:35

Другие вопросы по теме