Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure tillhandahåller inbyggd diagnostik som hjälper dig att felsöka en Azure App Service-app. I den här artikeln får du lära dig hur du aktiverar diagnostikloggning och lägger till instrumentation i ditt program. Du lär dig också att komma åt informationen som Azure loggar.
Den här artikeln använder Azure-portalen och Azure CLI för att arbeta med diagnostikloggar. Information om hur du arbetar med diagnostikloggar med hjälp av Visual Studio finns i Felsöka en app i Azure App Service med Visual Studio.
Förutom loggningsinstruktionerna i den här artikeln kan du använda den integrerade loggningsfunktionen i Azure Monitor. Mer information finns i Skicka loggar till Azure Monitor.
Anteckning
App Service tillhandahåller ett dedikerat, interaktivt diagnostikverktyg som hjälper dig att felsöka ditt program. Mer information finns i Översikt över Azure App Service-diagnostik.
Du kan också använda andra Azure-tjänster för att förbättra appens loggnings- och övervakningsfunktioner, till exempel Azure Monitor-.
Översikt över loggningstyper
| Typ | Plattform | Logglagringsplats | beskrivning |
|---|---|---|---|
| Applikationsloggning | Windows, Linux | App Service-filsystem och/eller Azure Storage-blobar | Logga meddelanden som programkoden genererar. Meddelandena kan genereras av det webbramverk som 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: Critical, Error, Warning, Info, Debugeller Trace. Du kan välja hur utförlig du vill att loggningen ska vara genom att ange allvarlighetsgraden när du aktiverar programloggning. |
| Webbserverloggning | Windows | App Service-filsystem eller Azure Storage-blobar | Rå HTTP-begärandedata i utökat loggfilformat enligt W3C-standard. Varje loggmeddelande innehåller data som HTTP-metoden, resurs-URI, klient-IP, klientport, användaragent och svarskod. |
| Detaljerade felmeddelanden | Windows | App Service-filsystem | Kopior av .htm 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 som har HTTP-kod 400 eller högre inträffar. Sidan kan innehålla information som kan hjälpa dig att avgöra varför servern returnerar felkoden. |
| Misslyckade förfrågningars spårning | 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. Den här informationen är användbar om du vill förbättra webbplatsens prestanda eller isolera ett specifikt HTTP-fel. En mapp genereras för varje misslyckad begäran. Mappen innehåller XML-loggfilen och XSL-formatmallen för visning av loggfilen. |
| Driftsättningslogg | Windows, Linux | App Service-filsystem | Loggar när du publicerar innehåll till en app. Distributionsloggning sker automatiskt och det finns inga konfigurerbara inställningar för distributionsloggning. Det hjälper dig att avgöra varför en distribution misslyckades. Om du till exempel använder ett anpassat distributionsskript kan du använda distributionsloggning för att avgöra varför skriptet misslyckas. |
När loggar lagras i App Service-filsystemet omfattas de av tillgängligt lagringsutrymme för din prisnivå. Mer information finns i Begränsningar för App Service.
Aktivera programloggning (Windows)
Så här aktiverar du programloggning för Windows-appar i Azure-portalen:
Gå till din app och välj Övervakning>App Service-loggar.
Välj På för något av eller båda alternativen:
Programloggning (Filsystem): Det här alternativet är för tillfällig felsökning. Den stänger av sig själv om 12 timmar.
Programloggning (Blob): Det här alternativet är för långsiktig loggning. Den behöver en container för bloblagring för att skriva loggar till.
Alternativet Blob innehåller ytterligare information i loggmeddelandena, till exempel ID för den virtuella datorns ursprungliga instans av loggmeddelandet (
InstanceId), tråd-ID :t (Tid) och en mer detaljerad tidsstämpel (EventTickCount).
För nivåväljer du den informationsnivå som ska loggas. I följande tabell visas de loggkategorier som ingår på varje nivå:
Nivå Inkluderade kategorier Disabled (Inaktiverat) Ingen Fel Fel, Kritisk Varning! Varning, Fel, Kritisk Information Info, Varning, Fel, Kritiskt Mångordig Trace, Debug, Info, Warning, Error, Critical (alla kategorier) Välj Spara.
Om du skriver loggar till blobar gäller inte längre kvarhållningsprincipen om du tar bort appen utan behåller loggarna i blobarna. Mer information finns i Kostnader som kan uppstå efter resursborttagning.
För närvarande kan endast .NET-programloggar skrivas till Blob Storage. Java-, PHP-, Node.js- och Python-programloggar kan endast lagras i App Service-filsystemet utan kodändringar för att skriva loggar till extern lagring.
Om du återskapa lagringskontots åtkomstnycklarmåste du återställa respektive loggningskonfiguration för att använda de uppdaterade åtkomstnycklarna:
På fliken Konfigurera anger du respektive loggningsfunktion till Av. Spara inställningen.
Aktivera loggning till lagringskontots blob igen. Spara inställningen.
Aktivera programloggning (Linux eller container)
Så här aktiverar du programloggning för Linux-appar eller anpassade containrar i Azure-portalen:
Gå till din app och välj Övervakning>App Service-loggar.
I Programloggning väljer du Filsystem.
I Kvot (MB) anger du diskkvoten för programloggarna.
I kvarhållningsperiod (dagar)anger du antalet dagar för att behålla loggarna.
Välj Spara.
Aktivera loggning av webbserver
Så här aktiverar du webbserverloggning för Windows-appar i Azure-portalen:
Gå till din app och välj Övervakning>App Service-loggar.
För webbserverloggningväljer du Storage för att lagra loggar i bloblagring eller väljer Filsystem för att lagra loggar i App Service-filsystemet.
I kvarhållningsperiod (dagar)anger du antalet dagar för att behålla loggarna.
Välj Spara.
Om du skriver loggar till blobar gäller inte längre kvarhållningsprincipen om du tar bort appen utan behåller loggarna i blobarna. Mer information finns i Kostnader som kan uppstå efter resursborttagning.
Om du genererar om ditt lagringskontos åtkomstnycklarmåste du återställa loggningskonfigurationen för att använda de uppdaterade nycklarna.
På fliken Konfigurera anger du respektive loggningsfunktion till Av. Spara inställningen.
Aktivera loggning till lagringskontots blob igen. Spara inställningen.
Logga detaljerade fel
Spara felsidan eller spårning av misslyckade begäranden för Windows-appar i Azure-portalen:
Gå till din app och välj Övervakning>App Service-loggar.
Under Detaljerade felmeddelanden eller Misslyckade spårningsbegärandenväljer du På.
Välj Spara.
Båda typerna av loggar lagras i App Service-filsystemet. Det behåller upp till 50 fel (filer eller mappar). När antalet HTML-filer överskrider 50 tar App Service bort de äldsta felfilerna.
Som standard samlar spårning av misslyckade begäranden in en logg med begäranden som misslyckades med HTTP-statuskoder mellan 400 och 600. Om du vill ange anpassade regler åsidosätter du avsnittet <traceFailedRequests> i filen Web.config.
Lägga till loggmeddelanden i kod
I programkoden kan du använda de vanliga loggningsfunktionerna för att skicka loggmeddelanden till programloggarna. Till exempel:
ASP.NET program kan använda klassen System.Diagnostics.Trace 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 . Mer information finns i ASP.NET Core-loggning i Azure. Information om WebJobs SDK-loggning finns i Kom igång med Azure WebJobs SDK.
Python-program kan använda OpenTelemetry för att skicka loggar till programdiagnostikloggen. Mer information finns i Aktivera Azure Monitor OpenTelemetry.
Strömningsloggar
Innan du strömmar loggar i realtid aktiverar du den loggtyp som du vill använda. App Service strömmar all information som skrivs till konsolutdata eller filer som slutar på .txt, .log eller .htm, som lagras i katalogen /home/LogFiles (D:\home\LogFiles).
Anteckning
Vissa typer av loggningsbuffertar skriver till loggfilen, vilket kan leda till att händelser visas i fel ordning 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-portalen
Om du vill strömma loggar i Azure-portalengår du till din app och väljer Övervakning>Loggström.
Cloud Shell
Om du vill strömma loggar live i Azure Cloud Shell-använder du följande kommando.
Viktigt!
Det här kommandot kanske inte fungerar med webbappar som finns i en Linux-baserad App Service-plan.
az webapp log tail --name appname --resource-group myResourceGroup
Om du vill filtrera specifika loggtyper, till exempel HTTP, använder du parametern --provider. Till exempel:
az webapp log tail --name appname --resource-group myResourceGroup --provider http
Lokal terminal
Om du vill strömma loggar i den lokala konsolen installera Azure CLI- och logga in på ditt konto. När du har loggat in följer du anvisningarna för Cloud Shell.
Komma åt loggfilerna
Om du konfigurerar alternativet Azure Storage-blobar för en loggtyp behöver du ett klientverktyg som fungerar med Azure Storage. Mer information finns i Microsoft-klientverktyg för att arbeta med Azure Storage.
För loggar som lagras i App Service-filsystemet kan du komma åt dem med hjälp av Kudu-motorn.
- Öppna din app i Azure-portalen och välj Utvecklingsverktyg>Avancerade verktyg och välj sedan Gå.
- I Kudu väljer du Verktyg>Diagnostisk dump.
För Linux eller anpassade containrar innehåller ZIP-filen konsolutdata för både Docker-värden och Docker-behållaren. 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. Distributionsloggar lagras i /site/deployments/.
För Windows-appar innehåller ZIP-filen innehållet i D:\Home\LogFiles-katalogen i App Service-filsystemet. Den har följande struktur:
| Loggtyp | Katalog | beskrivning |
|---|---|---|
| Applikationslogg | /LogFiles/Application/ |
Innehåller en eller flera textfiler. Loggmeddelandenas format beror på vilken loggningsprovider du använder. |
| Spårning av misslyckade förfrågningar | /LogFiles/W3SVC#########/ |
Innehåller XML-filer och en XSL-fil. Du kan visa de formaterade XML-filerna i webbläsaren. |
| Detaljerad fellogg | /LogFiles/DetailedErrors/ |
Innehåller HTML-felfiler. Du kan visa HTM-filerna i webbläsaren. Ett annat sätt att visa spårningar av misslyckade begäranden är att gå till appsidan i portalen. På den vänstra menyn väljer du Diagnostisera och lösa problem. Sök efter spårningsloggar för misslyckade förfrågningaroch välj sedan ikonen för att bläddra och visa den spårning du vill se. |
| Webbserverlogg | /LogFiles/http/RawLogs/ |
Innehåller textfiler som formaterats med hjälp av det utökade loggfilsformatet W3C. Du kan läsa dessa filer med hjälp av en textredigerare eller ett verktyg som Log Parser. App Service stöder inte fälten s-computername, s-ipoch cs-version. |
| Utplaceringslogg |
/LogFiles/Git/ och /deployments/ |
Innehåller loggar som genereras av de interna distributionsprocesserna, tillsammans med loggar för Git-distributioner. |
Skicka loggar till Azure Monitor
Med Azure Monitor-integreringkan du skapa diagnostikinställningar för att skicka loggar till lagringskonton, händelsehubbar och Log Analytics-arbetsytor. När du lägger till en diagnostikinställning lägger App Service till appinställningar i din app, vilket utlöser en omstart av appen.
Loggtyper som stöds
En lista över loggtyper som stöds och deras beskrivningar finns i Resursloggar som stöds för Microsoft.Web.
Nätverksöverväganden
Information om begränsningar för diagnostikinställningar finns i Målgränser.