Aktivera diagnostikloggning

Slutförd

Det finns inbyggd diagnostik som hjälper dig att felsöka en App Service-app. I den här lektionen får du lära dig hur du aktiverar diagnostikloggning och lägger till instrumentation i ditt program och hur du kommer åt informationen som loggas av Azure.

I följande tabell visas typerna av loggning, vilka plattformar som stöds och var loggarna kan lagras och finnas för åtkomst till informationen.

Typ Plattform Plats beskrivning
Programloggning Windows, Linux App Service-filsystem och/eller Azure Storage-blobar Loggar meddelanden som genereras av programkoden. Meddelandena genereras av det webbramverk du väljer, eller från din programkod direkt med hjälp av standardloggningsmönstret för ditt språk. Varje meddelande tilldelas någon av följande kategorier: Kritisk, Fel, Varning, Information, Felsökning och Spårning.
Webbserverloggning Windows App Service-filsystem eller Azure Storage-blobar Rådata för HTTP-begäranden i W3C-format för utökad loggfil. Varje loggmeddelande innehåller data som HTTP-metoden, resurs-URI, klient-IP, klientport, användaragent, svarskod och så vidare.
Detaljerade felmeddelanden Windows App Service-filsystem Kopior av .html felsidor som skulle ha skickats till klientwebbläsaren. Av säkerhetsskäl bör detaljerade felsidor inte skickas till klienter i produktion, men App Service kan spara felsidan varje gång ett programfel inträffar som har HTTP-kod 400 eller senare.
Spårning av misslyckade förfrågningar Windows App Service-filsystem Detaljerad spårningsinformation om misslyckade begäranden, inklusive en spårning av de IIS-komponenter som används för att bearbeta begäran och den tid det tar i varje komponent. En mapp genereras för varje misslyckad begäran, som innehåller XML-loggfilen och XSL-formatmallen som loggfilen ska visas med.
Distributionsloggning Windows, Linux App Service-filsystem Hjälper dig att avgöra varför en distribution misslyckades. Distributionsloggning sker automatiskt och det finns inga konfigurerbara inställningar för distributionsloggning.

Aktivera programloggning (Windows)

  1. Om du vill aktivera programloggning för Windows-appar i Azure Portal går du till din app och väljer App Service-loggar.

  2. Välj för antingen Programloggning (Filsystem) eller Programloggning (Blob) eller båda. Alternativet Filsystem är för tillfällig felsökning och inaktiverar sig själv om 12 timmar. Alternativet Blob är för långsiktig loggning och behöver en bloblagringscontainer att skriva loggar till.

    Kommentar

    Om du återskapar lagringskontots åtkomstnycklar måste du återställa respektive loggningskonfiguration för att använda de uppdaterade åtkomstnycklarna. Om du vill göra detta inaktiverar du loggningsfunktionen och sedan på igen.

  3. Du kan också ange den informationsnivå som ingår i loggen enligt följande tabell.

    Nivå Inkluderade kategorier
    Disabled (Inaktiverat) Ingen
    Fel Fel, kritiskt
    Varning! Varning, fel, kritisk
    Information Information, varning, fel, kritisk
    Mångordig Trace, Debug, Info, Warning, Error, Critical (alla kategorier)
  4. När du är klar väljer du Spara.

Aktivera programloggning (Linux/Container)

  1. I App Service-loggar anger du alternativet Programloggning till Filsystem.

  2. I Kvot (MB) anger du diskkvoten för programloggarna. I Kvarhållningsperiod (dagar) anger du hur många dagar loggarna ska behållas.

  3. När du är klar väljer du Spara.

Aktivera webbserverloggning

  1. För webbserverloggning väljer du Lagring för att lagra loggar på bloblagring eller Filsystem för att lagra loggar i App Service-filsystemet.

  2. I Kvarhållningsperiod (dagar) anger du hur många dagar loggarna ska behållas.

  3. När du är klar väljer du Spara.

Lägga till loggmeddelanden i kod

I programkoden använder du de vanliga loggningsfunktionerna för att skicka loggmeddelanden till programloggarna. Till exempel:

  • ASP.NET program kan använda System.Diagnostics.Trace klassen för att logga information till programdiagnostikloggen. Till exempel:

    System.Diagnostics.Trace.TraceError("If you're seeing this, something bad happened");
    

    Som standard använder ASP.NET Core loggningsprovidern Microsoft.Extensions.Logging.AzureAppServices .

  • Python-program kan använda OpenCensus-paketet för att skicka loggar till programdiagnostikloggen.

Strömningsloggar

Innan du strömmar loggar i realtid aktiverar du den loggtyp som du vill använda. All information som skrivs till filer som slutar i .txt, .log eller .htm som lagras i /LogFiles katalogen (d:/home/logfiles) strömmas av App Service.

Kommentar

Vissa typer av loggningsbuffert skrivs till loggfilen, vilket kan resultera i oordningshändelser i strömmen. Till exempel kan en programloggpost som inträffar när en användare besöker en sida visas i strömmen före motsvarande HTTP-loggpost för sidbegäran.

  • Azure Portal – Om du vill strömma loggar i Azure Portal navigerar du till din app och väljer Loggström.

  • Azure CLI – Om du vill strömma loggar live i Cloud Shell använder du följande kommando:

    az webapp log tail --name appname --resource-group myResourceGroup
    
  • Lokal konsol – Om du vill strömma loggar i den lokala konsolen installerar du Azure CLI och loggar in på ditt konto. När du har loggat in följer du anvisningarna som visas för Azure CLI.

Komma åt loggfiler

Om du konfigurerar alternativet Azure Storage-blobar för en loggtyp behöver du ett klientverktyg som fungerar med Azure Storage.

För loggar som lagras i App Service-filsystemet är det enklaste sättet att ladda ned ZIP-filen i webbläsaren på:

  • Linux-/containerappar: https://<app-name>.scm.azurewebsites.net/api/logs/docker/zip
  • Windows-appar: https://<app-name>.scm.azurewebsites.net/api/dump

För Linux-/containerappar innehåller ZIP-filen konsolutdataloggar för både Docker-värden och Docker-containern. För en utskalad app innehåller ZIP-filen en uppsättning loggar för varje instans. I App Service-filsystemet är dessa loggfiler innehållet i katalogen /home/LogFiles .