.NET/.NET core-en python-traceer Logboeken in Application Insights verkennenExplore .NET/.NET Core and Python trace logs in Application Insights

Verzend Diagnostische logboeken voor uw ASP.NET/ASP.NET-kern toepassing vanuit ILogger, NLog, log4Net of System. Diagnostics. trace naar Azure-toepassing Insights.Send diagnostic tracing logs for your ASP.NET/ASP.NET Core application from ILogger, NLog, log4Net, or System.Diagnostics.Trace to Azure Application Insights. Voor python-toepassingen verzendt u diagnostische tracerings logboeken met behulp van AzureLogHandler in opentellingen python voor Azure Monitor.For Python applications, send diagnostic tracing logs using AzureLogHandler in OpenCensus Python for Azure Monitor. U kunt ze verkennen en doorzoeken.You can then explore and search them. Deze logboeken worden samengevoegd met de andere logboek bestanden van uw toepassing, zodat u traceringen kunt identificeren die zijn gekoppeld aan elke gebruikers aanvraag en ze kunnen correleren met andere gebeurtenissen en uitzonderings rapporten.Those logs are merged with the other log files from your application, so you can identify traces that are associated with each user request and correlate them with other events and exception reports.

Notitie

Hebt u de module logboek registratie nodig?Do you need the log-capture module? Het is een handige adapter voor logboeken van derden.It's a useful adapter for third-party loggers. Als u NLog, log4Net of System. Diagnostics. trace niet al gebruikt, kunt u het beste direct Application Insights TrackTrace () aanroepen.But if you aren't already using NLog, log4Net, or System.Diagnostics.Trace, consider just calling Application Insights TrackTrace() directly.

Logboek registratie voor uw app installerenInstall logging on your app

Installeer uw gekozen Framework voor logboek registratie in uw project. dit moet resulteren in een vermelding in app. config of web. config.Install your chosen logging framework in your project, which should result in an entry in app.config or web.config.

 <configuration>
  <system.diagnostics>
    <trace>
      <listeners>
        <add name="myAppInsightsListener" type="Microsoft.ApplicationInsights.TraceListener.ApplicationInsightsTraceListener, Microsoft.ApplicationInsights.TraceListener" />
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>

Application Insights configureren voor het verzamelen van LogboekenConfigure Application Insights to collect logs

Voeg Application Insights toe aan uw project als u dat nog niet hebt gedaan.Add Application Insights to your project if you haven't done that yet. U ziet een optie voor het toevoegen van de logboek verzamelaar.You'll see an option to include the log collector.

Of klik met de rechter muisknop op uw project in Solution Explorer om Application Insights te configureren.Or right-click your project in Solution Explorer to Configure Application Insights. Selecteer de optie tracerings verzameling configureren .Select the Configure trace collection option.

Notitie

Geen Application Insights menu of logboek verzamelaar-optie?No Application Insights menu or log collector option? Probeer het probleem op te lossen.Try Troubleshooting.

Handmatige installatieManual installation

Gebruik deze methode als uw project type niet wordt ondersteund door het Application Insights-installatie programma (bijvoorbeeld een Windows Desktop-project).Use this method if your project type isn't supported by the Application Insights installer (for example a Windows desktop project).

  1. Als u van plan bent log4Net of NLog te gebruiken, installeert u deze in uw project.If you plan to use log4Net or NLog, install it in your project.

  2. Klik in Solution Explorer met de rechter muisknop op uw project en selecteer NuGet-pakketten beheren.In Solution Explorer, right-click your project, and select Manage NuGet Packages.

  3. Zoek naar ' Application Insights '.Search for "Application Insights."

  4. Selecteer een van de volgende pakketten:Select one of the following packages:

Het NuGet-pakket installeert de benodigde assembly's en wijzigt web. config of app. config als dat van toepassing is.The NuGet package installs the necessary assemblies and modifies web.config or app.config if that's applicable.

ILoggerILogger

Zie ApplicationInsightsLoggerProvider voor .net core ILogger-logboekenvoor voor beelden van het gebruik van de Application Insights ILogger-implementatie met console toepassingen en ASP.net core.For examples of using the Application Insights ILogger implementation with console applications and ASP.NET Core, see ApplicationInsightsLoggerProvider for .NET Core ILogger logs.

Diagnostische logboek aanroepen invoegenInsert diagnostic log calls

Als u System. Diagnostics. trace gebruikt, zou een typische oproep het volgende zijn:If you use System.Diagnostics.Trace, a typical call would be:

System.Diagnostics.Trace.TraceWarning("Slow response - database01");

Als u liever log4net of NLog, gebruikt u:If you prefer log4net or NLog, use:

logger.Warn("Slow response - database01");

Event source-gebeurtenissen gebruikenUse EventSource events

U kunt System. Diagnostics. tracing. Event source -gebeurtenissen configureren die moeten worden verzonden naar Application Insights als traceringen.You can configure System.Diagnostics.Tracing.EventSource events to be sent to Application Insights as traces. Installeer eerst het Microsoft.ApplicationInsights.EventSourceListener NuGet-pakket.First, install the Microsoft.ApplicationInsights.EventSourceListener NuGet package. Bewerk vervolgens de sectie TelemetryModules van het bestand ApplicationInsights. config .Then edit the TelemetryModules section of the ApplicationInsights.config file.

    <Add Type="Microsoft.ApplicationInsights.EventSourceListener.EventSourceTelemetryModule, Microsoft.ApplicationInsights.EventSourceListener">
      <Sources>
        <Add Name="MyCompany" Level="Verbose" />
      </Sources>
    </Add>

Voor elke bron kunt u de volgende para meters instellen:For each source, you can set the following parameters:

  • Naam geeft de naam aan van de Event source die moet worden verzameld.Name specifies the name of the EventSource to collect.
  • Niveau geeft het logboek registratie niveau aan dat moet worden verzameld: kritiek, fout, informatief, LogAlways, uitgebreidof waarschuwing.Level specifies the logging level to collect: Critical, Error, Informational, LogAlways, Verbose, or Warning.
  • Tref woorden (optioneel) Geef de integere waarde op van trefwoord combinaties die moeten worden gebruikt.Keywords (optional) specify the integer value of keyword combinations to use.

DiagnosticSource-gebeurtenissen gebruikenUse DiagnosticSource events

U kunt System. Diagnostics. DiagnosticSource -gebeurtenissen configureren die moeten worden verzonden naar Application Insights als traceringen.You can configure System.Diagnostics.DiagnosticSource events to be sent to Application Insights as traces. Installeer eerst het Microsoft.ApplicationInsights.DiagnosticSourceListener NuGet-pakket.First, install the Microsoft.ApplicationInsights.DiagnosticSourceListener NuGet package. Bewerk vervolgens de sectie ' TelemetryModules ' van het bestand ApplicationInsights. config .Then edit the "TelemetryModules" section of the ApplicationInsights.config file.

    <Add Type="Microsoft.ApplicationInsights.DiagnosticSourceListener.DiagnosticSourceTelemetryModule, Microsoft.ApplicationInsights.DiagnosticSourceListener">
      <Sources>
        <Add Name="MyDiagnosticSourceName" />
      </Sources>
    </Add>

Voor elke DiagnosticSource die u wilt traceren, voegt u een vermelding toe met het kenmerk name ingesteld op de naam van uw DiagnosticSource.For each DiagnosticSource you want to trace, add an entry with the Name attribute set to the name of your DiagnosticSource.

ETW-gebeurtenissen gebruikenUse ETW events

U kunt Event Tracing for Windows (ETW)-gebeurtenissen configureren die naar Application Insights worden verzonden als traceringen.You can configure Event Tracing for Windows (ETW) events to be sent to Application Insights as traces. Installeer eerst het Microsoft.ApplicationInsights.EtwCollector NuGet-pakket.First, install the Microsoft.ApplicationInsights.EtwCollector NuGet package. Bewerk vervolgens de sectie ' TelemetryModules ' van het bestand ApplicationInsights. config .Then edit the "TelemetryModules" section of the ApplicationInsights.config file.

Notitie

ETW-gebeurtenissen kunnen alleen worden verzameld als het proces dat als host fungeert voor de SDK wordt uitgevoerd onder een identiteit die lid is van prestatie logboek gebruikers of beheerders.ETW events can only be collected if the process that hosts the SDK runs under an identity that's a member of Performance Log Users or Administrators.

    <Add Type="Microsoft.ApplicationInsights.EtwCollector.EtwCollectorTelemetryModule, Microsoft.ApplicationInsights.EtwCollector">
      <Sources>
        <Add ProviderName="MyCompanyEventSourceName" Level="Verbose" />
      </Sources>
    </Add>

Voor elke bron kunt u de volgende para meters instellen:For each source, you can set the following parameters:

  • ProviderName is de naam van de etw-provider die moet worden verzameld.ProviderName is the name of the ETW provider to collect.
  • ProviderGuid Hiermee geeft u de GUID op van de etw-provider die u wilt verzamelen.ProviderGuid specifies the GUID of the ETW provider to collect. Het kan worden gebruikt in plaats van ProviderName.It can be used instead of ProviderName.
  • Niveau stelt het logboek registratie niveau in dat moet worden verzameld.Level sets the logging level to collect. Dit kan kritiek, fout, informatief, LogAlways, uitgebreidof waarschuwingzijn.It can be Critical, Error, Informational, LogAlways, Verbose, or Warning.
  • Tref woorden (optioneel) Stel de gehele waarde van trefwoord combinaties in op gebruik.Keywords (optional) set the integer value of keyword combinations to use.

De tracerings-API rechtstreeks gebruikenUse the Trace API directly

U kunt de Application Insights Trace-API rechtstreeks aanroepen.You can call the Application Insights trace API directly. De logboek registratie adapters gebruiken deze API.The logging adapters use this API.

Bijvoorbeeld:For example:

var telemetry = new Microsoft.ApplicationInsights.TelemetryClient();
telemetry.TrackTrace("Slow response - database01");

Een voor deel van TrackTrace is dat u relatief lange gegevens in het bericht kunt plaatsen.An advantage of TrackTrace is that you can put relatively long data in the message. U kunt bijvoorbeeld POST-gegevens coderen.For example, you can encode POST data there.

U kunt ook een Ernst niveau aan uw bericht toevoegen.You can also add a severity level to your message. En, net als bij andere telemetrie, kunt u eigenschaps waarden toevoegen om te helpen bij het filteren of zoeken naar verschillende sets traceringen.And, like other telemetry, you can add property values to help filter or search for different sets of traces. Bijvoorbeeld:For example:

var telemetry = new Microsoft.ApplicationInsights.TelemetryClient();
telemetry.TrackTrace("Slow database response",
               SeverityLevel.Warning,
               new Dictionary<string,string> { {"database", db.ID} });

Zo kunt u eenvoudig filteren op het zoeken in alle berichten van een bepaald Ernst niveau die betrekking hebben op een bepaalde data base.This would enable you to easily filter out in Search all the messages of a particular severity level that relate to a particular database.

AzureLogHandler voor opentellingen pythonAzureLogHandler for OpenCensus Python

Met de handler voor Azure Monitor-Logboeken kunt u python-logboeken exporteren naar Azure Monitor.The Azure Monitor Log Handler allows you to export Python logs to Azure Monitor.

Instrumenteer uw toepassing met de Opentellingen PYTHON SDK voor Azure monitor.Instrument your application with the OpenCensus Python SDK for Azure Monitor.

In dit voor beeld ziet u hoe u een logboek op waarschuwings niveau verzendt naar Azure Monitor.This example shows how to send a warning level log to Azure Monitor.

import logging

from opencensus.ext.azure.log_exporter import AzureLogHandler

logger = logging.getLogger(__name__)
logger.addHandler(AzureLogHandler(connection_string='InstrumentationKey=<your-instrumentation_key-here>'))
logger.warning('Hello, World!')

Uw logboeken verkennenExplore your logs

Voer uw app uit in de foutopsporingsmodus of implementeer deze live.Run your app in debug mode or deploy it live.

Selecteer in het deel venster Overzicht van de app in de Application Insights Portal zoeken.In your app's overview pane in the Application Insights portal, select Search.

U kunt bijvoorbeeld het volgende doen:You can, for example:

  • Filter op logboek traceringen of op items met specifieke eigenschappen.Filter on log traces or on items with specific properties.
  • Inspecteer een specifiek item in detail.Inspect a specific item in detail.
  • Andere systeem logboek gegevens zoeken die betrekking hebben op dezelfde gebruikers aanvraag (dezelfde OperationId hebben).Find other system log data that relates to the same user request (has the same OperationId).
  • Sla de configuratie van een pagina op als favoriet.Save the configuration of a page as a favorite.

Notitie

Als uw toepassing veel gegevens verzendt en u de Application Insights SDK voor ASP.NET versie 2.0.0-beta3 of hoger gebruikt, kan de adaptieve bemonsterings functie werken en slechts een deel van uw telemetrie verzenden.If your application sends a lot of data and you're using the Application Insights SDK for ASP.NET version 2.0.0-beta3 or later, the adaptive sampling feature may operate and send only a portion of your telemetry. Meer informatie over steekproeven.Learn more about sampling.

Problemen oplossenTroubleshooting

Hoe kan ik doe dit voor Java?How do I do this for Java?

Gebruik de Java-logboek adapters.Use the Java log adapters.

Er is geen optie Application Insights in het context menu van het projectThere's no Application Insights option on the project context menu

  • Zorg ervoor dat Developer Analytics-Hulpprogram Ma's op de ontwikkel computer zijn ge├»nstalleerd.Make sure that Developer Analytics Tools is installed on the development machine. Zoek in Visual Studio- Hulpprogram ma's > extensies en updatesnaar Developer Analytics-hulpprogram ma's.At Visual Studio Tools > Extensions and Updates, look for Developer Analytics Tools. Als dit niet het geval is, opent u het tabblad online en installeert u het.If it isn't on the Installed tab, open the Online tab and install it.
  • Dit kan een project type zijn dat devloper Analytics-Hulpprogram Ma's niet ondersteunt.This might be a project type that Devloper Analytics Tools doesn't support. Hand matige installatiegebruiken.Use manual installation.

Er is geen optie voor de logboek adapter in het configuratie hulpprogrammaThere's no log adapter option in the configuration tool

  • Installeer eerst het Framework voor logboek registratie.Install the logging framework first.
  • Als u System. Diagnostics. trace gebruikt, zorg er dan voor dat u deze hebt geconfigureerd in Web. config.If you're using System.Diagnostics.Trace, make sure that you have it configured in web.config.
  • Zorg ervoor dat u beschikt over de nieuwste versie van Application Insights.Make sure that you have the latest version of Application Insights. Ga in Visual Studio naar Hulpprogram ma's > extensies en updatesen open het tabblad updates . Als Developer Analytics-Hulpprogram ma's er is, selecteert u deze om het bij te werken.In Visual Studio, go to Tools > Extensions and Updates, and open the Updates tab. If Developer Analytics Tools is there, select it to update it.

Fout bericht ' de instrumentatie sleutel mag niet leeg zijn 'I get the "Instrumentation key cannot be empty" error message

Waarschijnlijk hebt u het Nuget-pakket voor de logboek registratie adapter geïnstalleerd zonder Application Insights te installeren.You probably installed the logging adapter Nuget package without installing Application Insights. Klik in Solution Explorer met de rechter muisknop op ApplicationInsights. configen selecteer Update Application Insights.In Solution Explorer, right-click ApplicationInsights.config, and select Update Application Insights. U wordt gevraagd om u aan te melden bij Azure en een Application Insights resource te maken of een bestaande te hergebruiken.You'll be prompted to sign in to Azure and create an Application Insights resource or reuse an existing one. Dat het probleem moet oplossen.That should fix the problem.

Het kan even duren voordat alle gebeurtenissen en aanvragen worden ontvangen via de pijp lijn.It can take a while for all the events and requests to get through the pipeline.

Hoeveel gegevens worden er bewaard?How much data is retained?

Verschillende factoren zijn van invloed op de hoeveelheid gegevens die wordt bewaard.Several factors affect the amount of data that's retained. Zie de sectie limieten van de pagina metrische gegevens van klant gebeurtenis voor meer informatie.For more information, see the limits section of the customer event metrics page.

Ik zie enkele logboek vermeldingen die ik had verwachtI don't see some log entries that I expected

Als uw toepassing Voluminous hoeveel heden gegevens verzendt en u de Application Insights SDK voor ASP.NET-versie 2.0.0-beta3 of hoger gebruikt, kan de adaptieve bemonsterings functie werken en slechts een deel van uw telemetrie verzenden.If your application sends voluminous amounts of data and you're using the Application Insights SDK for ASP.NET version 2.0.0-beta3 or later, the adaptive sampling feature may operate and send only a portion of your telemetry. Meer informatie over steekproeven.Learn more about sampling.

Volgende stappenNext steps