Udostępnij za pośrednictwem


Włączanie usługi Application Insights dla aplikacji ASP.NET Core

W tym artykule opisano sposób włączania usługi Application Insights dla aplikacji ASP.NET Core wdrożonej jako aplikacja internetowa platformy Azure. Ta implementacja korzysta z podejścia opartego na zestawie SDK. Dostępne jest również podejście autoinstrumentacji .

Usługa Application Insights może zbierać następujące dane telemetryczne z aplikacji ASP.NET Core:

  • Żądania
  • Zależności
  • Wyjątki
  • Liczniki wydajności
  • Bicie serca
  • Dzienniki

W przypadku przykładowej aplikacji użyjemy aplikacji ASP.NET Core MVC przeznaczonej dla net6.0elementu . Te instrukcje można jednak zastosować do wszystkich aplikacji ASP.NET Core. Jeśli używasz usługi Procesu roboczego, skorzystaj z instrukcji z tego miejsca.

Uwaga

31 marca 2025 r. zostanie zakończone świadczenie pomocy technicznej dla pozyskiwania klucza instrumentacji. Pozyskiwanie klucza instrumentacji będzie nadal działać, ale nie udostępnimy już aktualizacji ani obsługi funkcji. Przejście do parametrów połączenia w celu skorzystania z nowych możliwości.

Obsługiwane scenariusze

Zestaw SDK usługi Application Insights dla ASP.NET Core może monitorować aplikacje bez względu na to, gdzie i jak działają. Jeśli aplikacja jest uruchomiona i ma łączność sieciową z platformą Azure, usługa Application Insights może zbierać z niej dane telemetryczne. Monitorowanie usługi Application Insights jest obsługiwane wszędzie, gdzie jest obsługiwana platforma .NET Core. Obsługiwane są następujące scenariusze:

  • System operacyjny: Windows, Linux lub Mac
  • Metoda hostingu: w procesie lub poza procesem
  • Metoda wdrażania: struktura zależna lub samodzielna
  • Serwer sieci Web: Internet Information Server (IIS) lub Kestrel
  • Platforma hostingu: funkcja Web Apps Azure App Service, maszyny wirtualnej platformy Azure, platformy Docker, Azure Kubernetes Service (AKS) itd.
  • Wersja platformy .NET Core: wszystkie oficjalnie obsługiwane wersje platformy .NET Core , które nie są dostępne w wersji zapoznawczej
  • IDE: Visual Studio, Visual Studio Code lub wiersz polecenia

Wymagania wstępne

Do ukończenia tego samouczka niezbędne są następujące elementy:

  • Visual Studio 2022
  • Następujące obciążenia programu Visual Studio:
    • Tworzenie aplikacji na platformie ASP.NET i aplikacji internetowych
    • Magazynowanie i przetwarzanie danych
    • Tworzenie aplikacji na platformie Azure
  • .NET 6.0
  • Subskrypcja platformy Azure i konto użytkownika (z możliwością tworzenia i usuwania zasobów)

Wdrażanie zasobów platformy Azure

Postępuj zgodnie ze wskazówkami, aby wdrożyć przykładową aplikację z repozytorium GitHub.

Aby zapewnić globalnie unikatowe nazwy zasobów, sufiks sześcioznaczny jest przypisywany do niektórych zasobów. Zanotuj ten sufiks do użycia w dalszej części tego artykułu.

Zrzut ekranu przedstawiający listę wdrożonych zasobów platformy Azure w Azure Portal z wyróżnionym sufiksem sześciu znaków.

Tworzenie zasobu usługi Application Insights

  1. W Azure Portal wybierz grupę zasobów application-insights-azure-café.

  2. Z górnego menu paska narzędzi wybierz pozycję + Utwórz.

    Zrzut ekranu przedstawiający grupę zasobów application-insights-azure-café w Azure Portal z wyróżnionym przyciskiem + Utwórz w menu paska narzędzi.

  3. Na ekranie Tworzenie zasobu wyszukaj i wybierz pozycję Application Insights w polu tekstowym wyszukiwania witryny Marketplace.

    Zrzut ekranu przedstawiający ekran Tworzenie zasobu w Azure Portal.

  4. Na ekranie Przegląd zasobów usługi Application Insights wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający ekran przegląd usługi Application Insights w Azure Portal z wyróżnionym przyciskiem Utwórz.

  5. Na ekranie usługi Application Insights na karcie Podstawy wypełnij formularz przy użyciu poniższej tabeli, a następnie wybierz przycisk Przejrzyj i utwórz . Pola, które nie zostały określone w poniższej tabeli, mogą zachować wartości domyślne.

    Pole Wartość
    Nazwa Wprowadź azure-cafe-application-insights-{SUFFIX}ciąg , zastępując ciąg {SUFIKS} odpowiednią wartością sufiksu zarejestrowaną wcześniej.
    Region (Region) Wybierz ten sam region wybrany podczas wdrażania zasobów artykułu.
    Obszar roboczy usługi Log Analytics Wybierz pozycję azure-café-log-analytics-workspace. Alternatywnie możesz utworzyć nowy obszar roboczy usługi Log Analytics.

    Zrzut ekranu przedstawiający kartę Podstawy ekranu usługi Application Insights w Azure Portal z formularzem wypełnionym poprzednimi wartościami.

  6. Po zakończeniu walidacji wybierz pozycję Utwórz , aby wdrożyć zasób.

    Zrzut ekranu przedstawiający ekran usługi Application Insights w Azure Portal. Komunikat informujący o tym, że walidacja została przekazana, a przycisk Utwórz jest wyróżniony.

  7. Po wdrożeniu zasobu wróć do application-insights-azure-cafe grupy zasobów i wybierz wdrożony zasób usługi Application Insights.

    Zrzut ekranu przedstawiający grupę zasobów application-insights-azure-café w Azure Portal z wyróżnionym zasobem usługi Application Insights.

  8. Na ekranie Przegląd zasobu usługi Application Insights wybierz przycisk Kopiuj do schowka, aby skopiować wartość parametry połączenia. Użyjesz wartości parametry połączenia w następnej sekcji tego artykułu.

    Zrzut ekranu przedstawiający ekran Przegląd usługi Application Insights w Azure Portal.

Konfigurowanie ustawienia aplikacji parametry połączenia usługi Application Insights w App Service internetowej

  1. Wróć do application-insights-azure-cafe grupy zasobów i otwórz zasób azure-café-web-{SUFIKS} App Service.

    Zrzut ekranu przedstawiający grupę zasobów application-insights-azure-café w Azure Portal z wyróżnionym zasobem azure-café-web-{SUFIKS}.

  2. W menu po lewej stronie w sekcji Ustawienia wybierz pozycję Konfiguracja. Następnie na karcie Ustawienia aplikacji wybierz pozycję + Nowe ustawienie aplikacji poniżej nagłówka Ustawienia aplikacji.

    Zrzut ekranu przedstawiający ekran zasobów App Service w Azure Portal.

  3. W okienku Ustawienia dodaj/edytuj aplikację wypełnij formularz w następujący sposób i wybierz przycisk OK.

    Pole Wartość
    Nazwa APPLICATIONINSIGHTS_CONNECTION_STRING
    Wartość Wklej wartość parametry połączenia usługi Application Insights skopiowaną w poprzedniej sekcji.

    Zrzut ekranu przedstawiający okienko ustawienia Dodaj/Edytuj aplikację w Azure Portal z poprzednimi wartościami wypełnionymi w polach Nazwa i Wartość.

  4. Na ekranie App Service Konfiguracja wybierz przycisk Zapisz z menu paska narzędzi. Po wyświetleniu monitu o zapisanie zmian wybierz pozycję Kontynuuj.

    Zrzut ekranu przedstawiający ekran App Service Konfiguracja w Azure Portal z wyróżnionym przyciskiem Zapisz w menu paska narzędzi.

Instalowanie pakietu NuGet usługi Application Insights

Musimy skonfigurować aplikację internetową ASP.NET Core MVC w celu wysyłania danych telemetrycznych. Jest to realizowane przy użyciu usługi Application Insights dla pakietu NuGet aplikacji internetowych ASP.NET Core.

  1. W programie Visual Studio otwórz plik 1 - Starter Application\src\AzureCafe.sln.

  2. W panelu Eksplorator rozwiązań programu Visual Studio kliknij prawym przyciskiem myszy plik projektu AzureCafe i wybierz pozycję Zarządzaj pakietami NuGet.

    Zrzut ekranu przedstawiający Eksplorator rozwiązań programu Visual Studio z wybranym projektem Azure Cafe i wyróżnionym elementem menu kontekstowego Zarządzaj pakietami NuGet.

  3. Wybierz kartę Przeglądaj , a następnie wyszukaj i wybierz pozycję Microsoft.ApplicationInsights.AspNetCore. Wybierz pozycję Zainstaluj i zaakceptuj postanowienia licencyjne. Zaleca się użycie najnowszej stabilnej wersji. Aby uzyskać pełne informacje o wersji zestawu SDK, zobacz repozytorium GitHub typu open source.

    Zrzut ekranu przedstawiający interfejs użytkownika Menedżera pakietów NuGet w programie Visual Studio.

    Pozostaw program Visual Studio otwarty dla następnej sekcji artykułu.

Włączanie telemetrii po stronie serwera usługi Application Insights

Usługa Application Insights dla ASP.NET Core aplikacji internetowych pakiet NuGet hermetyzuje funkcje umożliwiające wysyłanie danych telemetrycznych po stronie serwera do zasobu usługi Application Insights na platformie Azure.

  1. W programie Visual Studio Eksplorator rozwiązań otwórz plik Program.cs.

    Zrzut ekranu przedstawiający Eksplorator rozwiązań programu Visual Studio z wyróżnionym plikiem Program.cs.

  2. Wstaw następujący kod przed instrukcją builder.Services.AddControllersWithViews() . Ten kod automatycznie odczytuje wartość parametry połączenia usługi Application Insights z konfiguracji. Metoda AddApplicationInsightsTelemetry rejestruje ApplicationInsightsLoggerProvider element za pomocą wbudowanego kontenera iniekcji zależności, który będzie następnie używany do realizacji żądań implementacji ILogger i ILogger<TCategoryName>.

    builder.Services.AddApplicationInsightsTelemetry();
    

    Zrzut ekranu przedstawiający okno kodu w programie Visual Studio z wyróżnionym poprzednim fragmentem kodu.

    Porada

    Dowiedz się więcej o opcjach konfiguracji w ASP.NET Core.

Włączanie telemetrii po stronie klienta dla aplikacji internetowych

Powyższe kroki są wystarczające, aby ułatwić rozpoczęcie zbierania danych telemetrycznych po stronie serwera. Przykładowa aplikacja ma składniki po stronie klienta. Wykonaj następne kroki, aby rozpocząć zbieranie danych telemetrycznych użycia.

  1. W programie Visual Studio Eksplorator rozwiązań otwórz plik \Views\_ViewImports.cshtml.

  2. Dodaj następujący kod na końcu istniejącego pliku.

    @inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
    

    Zrzut ekranu przedstawiający plik _ViewImports.cshtml w programie Visual Studio z wyróżnionym poprzednim wierszem kodu.

  3. Aby prawidłowo włączyć monitorowanie po stronie klienta dla aplikacji, w programie Visual Studio Eksplorator rozwiązań otwórz \Views\Shared\_Layout.cshtml i wstaw następujący kod bezpośrednio przed tagiem zamykającym<\head>. Ten fragment kodu JavaScript musi zostać wstawiony w <head> sekcji każdej strony aplikacji, którą chcesz monitorować.

    @Html.Raw(JavaScriptSnippet.FullScript)
    

    Zrzut ekranu przedstawiający plik _Layout.cshtml w programie Visual Studio z poprzednim wierszem kodu wyróżnionym w sekcji head pliku.

    Porada

    Alternatywą dla użycia FullScript jest ScriptBody. Użyj polecenia ScriptBody , jeśli musisz kontrolować tag, <script> aby ustawić zasady zabezpieczeń zawartości:

    <script> // apply custom changes to this script tag.
        @Html.Raw(JavaScriptSnippet.ScriptBody)
    </script>
    

Uwaga

Iniekcja języka JavaScript zapewnia domyślne środowisko konfiguracji. Jeśli potrzebujesz konfiguracji poza ustawieniem parametry połączenia, musisz usunąć automatyczne wstrzykiwanie, zgodnie z powyższym opisem i ręcznie dodać zestaw SDK języka JavaScript.

Włączanie monitorowania zapytań bazy danych

Podczas badania przyczyn obniżenia wydajności ważne jest, aby uwzględnić szczegółowe informacje o wywołaniach bazy danych. Monitorowanie można włączyć, konfigurując moduł zależności. Monitorowanie zależności, w tym SQL, jest domyślnie włączone.

Wykonaj następujące kroki, aby przechwycić pełny tekst zapytania SQL.

Uwaga

Tekst SQL może zawierać poufne dane, takie jak hasła i dane osobowe. Podczas włączania tej funkcji należy zachować ostrożność.

  1. W programie Visual Studio Eksplorator rozwiązań otwórz plik Program.cs.

  2. W górnej części pliku dodaj następującą using instrukcję.

    using Microsoft.ApplicationInsights.DependencyCollector;
    
  3. Aby włączyć instrumentację tekstu polecenia SQL, wstaw następujący kod bezpośrednio po builder.Services.AddApplicationInsightsTelemetry() kodzie.

    builder.Services.ConfigureTelemetryModule<DependencyTrackingTelemetryModule>((module, o) => { module.EnableSqlCommandTextInstrumentation = true; });
    

    Zrzut ekranu przedstawiający okno kodu w programie Visual Studio z wyróżnionym poprzednim kodem.

Uruchamianie aplikacji internetowej Azure Cafe

Po wdrożeniu kodu aplikacji internetowej dane telemetryczne będą przepływać do usługi Application Insights. Zestaw SDK usługi Application Insights automatycznie zbiera przychodzące żądania internetowe do aplikacji.

  1. W programie Visual Studio Eksplorator rozwiązań kliknij prawym przyciskiem myszy projekt AzureCafe i wybierz polecenie Publikuj z menu kontekstowego.

    Zrzut ekranu przedstawiający Eksplorator rozwiązań programu Visual Studio z wybranym projektem Azure Cafe i wyróżnionym elementem menu kontekstowego Publikuj.

  2. Wybierz pozycję Publikuj, aby podwyższyć poziom nowego kodu do Azure App Service.

    Zrzut ekranu przedstawiający profil publikowania usługi AzureCafe z wyróżnionym przyciskiem Publikuj.

    Po pomyślnym opublikowaniu aplikacji internetowej Azure Cafe zostanie otwarte nowe okno przeglądarki dla aplikacji internetowej Azure Cafe.

    Zrzut ekranu przedstawiający aplikację internetową Azure Cafe.

  3. Aby wygenerować dane telemetryczne, wykonaj następujące kroki w aplikacji internetowej, aby dodać recenzję.

    1. Aby wyświetlić menu i recenzje kawiarni, wybierz pozycję Szczegóły obok kawiarni.

      Zrzut ekranu przedstawiający część listy usługi Azure Cafe w aplikacji internetowej Azure Cafe z wyróżnionym przyciskiem Szczegóły.

    2. Aby wyświetlić i dodać recenzje, na ekranie Cafe wybierz kartę Recenzje . Wybierz przycisk Dodaj recenzję , aby dodać recenzję.

      Zrzut ekranu przedstawiający ekran szczegóły kawiarni w aplikacji internetowej Azure Cafe z wyróżnionym przyciskiem Dodaj recenzję.

    3. W oknie dialogowym Tworzenie przeglądu wprowadź nazwę, ocenę, komentarze i przekaż zdjęcie do przeglądu. Po zakończeniu wybierz pozycję Dodaj recenzję.

      Zrzut ekranu przedstawiający okno dialogowe Tworzenie przeglądu w aplikacji internetowej Azure Cafe.

    4. Jeśli musisz wygenerować dodatkowe dane telemetryczne, dodaj dodatkowe przeglądy.

Metryki na żywo

Możesz użyć metryk na żywo , aby szybko sprawdzić, czy monitorowanie usługi Application Insights jest poprawnie skonfigurowane. Metryki na żywo pokazują użycie procesora CPU uruchomionego procesu niemal w czasie rzeczywistym. Może również wyświetlać inne dane telemetryczne, takie jak żądania, zależności i ślady. Pamiętaj, że wyświetlenie danych telemetrycznych w portalu i analizie może potrwać kilka minut.

Wyświetlanie mapy aplikacji

Przykładowa aplikacja wykonuje wywołania do wielu zasobów platformy Azure, w tym Azure SQL, Azure Blob Storage i Azure Language Service (aby zapoznać się z analizą tonacji).

Diagram przedstawiający architekturę przykładowej aplikacji internetowej Azure Cafe.

Usługa Application Insights introspects przychodzących danych telemetrycznych i może wygenerować wizualną mapę integracji systemu, które wykrywa.

  1. Zaloguj się w witrynie Azure Portal.

  2. Otwórz grupę zasobów dla przykładowej aplikacji, czyli application-insights-azure-cafe.

  3. Z listy zasobów wybierz azure-cafe-insights-{SUFFIX} zasób usługi Application Insights.

  4. W menu po lewej stronie pod nagłówkiem Zbadaj wybierz pozycję Mapa aplikacji. Obserwuj wygenerowaną mapę aplikacji.

    Zrzut ekranu przedstawiający mapę aplikacji usługi Application Insights w Azure Portal.

Wyświetlanie wywołań HTTP i tekstu polecenia SQL bazy danych

  1. W Azure Portal otwórz zasób usługi Application Insights.

  2. W menu po lewej stronie pod nagłówkem Zbadaj wybierz pozycję Wydajność.

  3. Karta Operacje zawiera szczegóły wywołań HTTP odebranych przez aplikację. Aby przełączać się między widokami serwera i przeglądarki (po stronie klienta) danych, użyj przełącznika Serwer/Przeglądarka.

    Zrzut ekranu przedstawiający ekran Wydajność w Azure Portal.

  4. Wybierz operację z tabeli, a następnie przejdź do przykładu żądania.

    Zrzut ekranu przedstawiający ekran Wydajności usługi Application Insights w Azure Portal z wyświetlonymi operacjami i przykładowymi operacjami.

    Transakcja kompleksowa jest wyświetlana dla wybranego żądania. W tym przypadku utworzono przegląd, w tym obraz, więc obejmuje wywołania usługi Azure Storage i usługi językowej (na potrzeby analizy tonacji). Obejmuje również wywołania bazy danych do Usługi SQL Azure w celu utrwalania przeglądu. W tym przykładzie pierwsze wybrane zdarzenie wyświetla informacje względem wywołania HTTP POST.

    Zrzut ekranu przedstawiający kompleksową transakcję w Azure Portal z wybranym wywołaniem HTTP Post.

  5. Wybierz element SQL, aby przejrzeć tekst polecenia SQL wystawiony dla bazy danych.

    Zrzut ekranu przedstawiający kompleksową transakcję w Azure Portal ze szczegółami polecenia SQL.

  6. Opcjonalnie wybierz żądania zależności (wychodzące) do usługi Azure Storage lub usługi językowej.

  7. Wróć do ekranu Wydajność i wybierz kartę Zależności , aby zbadać wywołania zasobów zewnętrznych. Zwróć uwagę, że tabela Operacje zawiera wywołania analizy tonacji, usługi Blob Storage i Azure SQL.

    Zrzut ekranu przedstawiający ekran Wydajność usługi Application Insights w Azure Portal z wybraną kartą Zależności i wyróżnioną tabelą Operacje.

Rejestrowanie aplikacji za pomocą usługi Application Insights

Omówienie rejestrowania

Usługa Application Insights to jeden z typów dostawców rejestrowania dostępnych dla ASP.NET Core aplikacji, które stają się dostępne dla aplikacji po zainstalowaniu pakietu NuGet usługi Application Insights dla ASP.NET Core i włączeniu zbierania danych telemetrycznych po stronie serwera.

Przypominamy, że poniższy kod w pliku Program.cs rejestruje ApplicationInsightsLoggerProvider element za pomocą wbudowanego kontenera wstrzykiwania zależności.

builder.Services.AddApplicationInsightsTelemetry();

Po zarejestrowaniu ApplicationInsightsLoggerProvider jako dostawca rejestrowania aplikacja jest gotowa do logowania się do usługi Application Insights przy użyciu iniekcji konstruktora z ILogger alternatywnym typem ogólnym lub .ILogger<TCategoryName>

Uwaga

Domyślnie dostawca rejestrowania jest skonfigurowany do automatycznego przechwytywania zdarzeń dziennika o ważności lub większej LogLevel.Warning .

Rozważmy następujący przykładowy kontroler. Demonstruje iniekcję ILogger, który jest rozpoznawany za pomocą zarejestrowanego ApplicationInsightsLoggerProvider w kontenerze wstrzykiwania zależności. Zwróć uwagę na to, że w metodzie Get są rejestrowane komunikaty informacyjne, ostrzegawcze i komunikat o błędzie.

Uwaga

Domyślnie dane śledzenia na poziomie informacji nie będą rejestrowane. Przechwytywane są tylko poziomy Ostrzeżenie i wyższe.

using Microsoft.AspNetCore.Mvc;

[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
    private readonly ILogger _logger;

    public ValuesController(ILogger<ValuesController> logger)
    {
        _logger = logger;
    }

    [HttpGet]
    public ActionResult<IEnumerable<string>> Get()
    {
        //Info level traces are not captured by default
        _logger.LogInformation("An example of an Info trace..");
        _logger.LogWarning("An example of a Warning trace..");
        _logger.LogError("An example of an Error level message");

        return new string[] { "value1", "value2" };
    }
}

Aby uzyskać więcej informacji, zobacz Rejestrowanie w ASP.NET Core.

Wyświetlanie dzienników w usłudze Application Insights

Powyższy element ValuesController jest wdrażany z przykładową aplikacją i znajduje się w folderze Controllers projektu.

  1. Za pomocą przeglądarki internetowej otwórz przykładową aplikację. Na pasku adresu dołącz /api/Values i naciśnij klawisz Enter.

    Zrzut ekranu przedstawiający okno przeglądarki z dołączonym ciągiem /api/Values do adresu URL na pasku adresu.

  2. W Azure Portal zaczekaj chwilę, a następnie wybierz zasób usługi Application Insights azure-café-insights-{SUFIKS}.

    Zrzut ekranu przedstawiający grupę zasobów application-insights-azure-café w Azure Portal z wyróżnionym zasobem usługi Application Insights.

  3. W menu po lewej stronie zasobu usługi Application Insights w sekcji Monitorowanie wybierz pozycję Dzienniki.

  4. W okienku Tabele w drzewie usługi Application Insights kliknij dwukrotnie tabelę śledzenia .

  5. Zmodyfikuj zapytanie, aby pobrać ślady kontrolera wartości w następujący sposób, a następnie wybierz pozycję Uruchom , aby przefiltrować wyniki.

    traces 
    | where operation_Name == "GET Values/Get"
    

    Wyniki wyświetlają komunikaty rejestrowania obecne w kontrolerze. Ważność dziennika 2 oznacza poziom ostrzeżenia, a ważność dziennika 3 oznacza poziom Błędu.

  6. Alternatywnie możesz również napisać zapytanie w celu pobrania wyników na podstawie kategorii dziennika. Domyślnie kategoria jest w pełni kwalifikowaną nazwą klasy, w której wstrzykiwany jest ILogger. W takim przypadku nazwa kategorii to ValuesController (jeśli istnieje przestrzeń nazw skojarzona z klasą, nazwa zostanie poprzedzona przestrzenią nazw). Ponownie zapisz i uruchom następujące zapytanie, aby pobrać wyniki na podstawie kategorii.

    traces 
    | where customDimensions.CategoryName == "ValuesController"
    

Kontrolowanie poziomu dzienników wysyłanych do usługi Application Insights

ILogger Implementacje mają wbudowany mechanizm stosowania filtrowania dzienników. To filtrowanie umożliwia kontrolowanie dzienników wysyłanych do każdego zarejestrowanego dostawcy, w tym dostawcy usługi Application Insights. Filtrowanie można użyć w konfiguracji (przy użyciu pliku appsettings.json ) lub w kodzie. Aby uzyskać więcej informacji na temat poziomów dzienników i wskazówek dotyczących odpowiedniego używania ich, zobacz dokumentację poziomu dziennika .

W poniższych przykładach pokazano, jak zastosować reguły filtrowania do ApplicationInsightsLoggerProvider elementu , aby kontrolować poziom dzienników wysyłanych do usługi Application Insights.

Tworzenie reguł filtrowania z konfiguracją

Element ApplicationInsightsLoggerProvider jest aliasowany jako ApplicationInsights w konfiguracji. W poniższej sekcji pliku appsettings.json ustawiono domyślny poziom dziennika dla wszystkich dostawców na LogLevel.Warningwartość . Konfiguracja dostawcy ApplicationInsights, w szczególności dla kategorii rozpoczynających się od "ValuesController", zastępuje tę wartość domyślną wartością LogLevel.Error i większą.

{
  //... additional code removed for brevity
  "Logging": {
    "LogLevel": { // No provider, LogLevel applies to all the enabled providers.
      "Default": "Warning"
    },
    "ApplicationInsights": { // Specific to the provider, LogLevel applies to the Application Insights provider.
      "LogLevel": {
        "ValuesController": "Error" //Log Level for the "ValuesController" category
      }
    }
  }
}

Wdrożenie przykładowej aplikacji z poprzednim kodem w pliku appsettings.json spowoduje wysłanie tylko śledzenia błędów do usługi Application Insights podczas interakcji z elementem ValuesController. Jest to spowodowane tym, że wartość LogLevel dla kategorii ValuesController jest ustawiona na Wartość Błąd. W związku z tym ślad ostrzegawczy jest pomijany.

Wyłączanie rejestrowania w usłudze Application Insights

Aby wyłączyć rejestrowanie przy użyciu konfiguracji, ustaw wszystkie wartości LogLevel na wartość "Brak".

{
  //... additional code removed for brevity
  "Logging": {
    "LogLevel": { // No provider, LogLevel applies to all the enabled providers.
      "Default": "None"
    },
    "ApplicationInsights": { // Specific to the provider, LogLevel applies to the Application Insights provider.
      "LogLevel": {
        "ValuesController": "None" //Log Level for the "ValuesController" category
      }
    }
  }
}

Podobnie w kodzie ustaw domyślny poziom dla ApplicationInsightsLoggerProvider wszystkich kolejnych poziomów dziennika na Wartość Brak.

var builder = WebApplication.CreateBuilder(args);
builder.Logging.AddFilter<ApplicationInsightsLoggerProvider>("", LogLevel.None);
builder.Logging.AddFilter<Microsoft.Extensions.Logging.ApplicationInsights.ApplicationInsightsLoggerProvider>("ValuesController", LogLevel.None);

Zestaw SDK typu open source

Najnowsze aktualizacje i poprawki błędów można znaleźć w informacjach o wersji.

Następne kroki