Diagnostische logboekregistratie inschakelen voor apps in Azure App Service
Overzicht
Azure biedt ingebouwde diagnostische gegevens om te helpen bij het debuggen van een App Service app. In dit artikel leert u hoe u diagnostische logboekregistratie kunt inschakelen en instrumentatie kunt toevoegen aan uw toepassing, en hoe u toegang krijgt tot de gegevens die zijn geregistreerd door Azure.
In dit artikel worden de Azure Portal en Azure CLI gebruikt om te werken met diagnostische logboeken. Zie Troubleshooting Azure in Visual Studio (Problemen met Azure oplossen in Visual Studio) voor meer informatie over het werken met diagnostische logboekenmet behulp Visual Studio.
Notitie
Naast de logboekinstructies in dit artikel zijn er nieuwe, geïntegreerde logboekregistratiemogelijkheden met Azure Monitoring. Meer informatie over deze mogelijkheid vindt u in de sectie Logboeken naar Azure Monitor verzenden.
| Type | Platform | Locatie | Description |
|---|---|---|---|
| Toepassingslogboeken | Windows, Linux | App Service bestandssysteem en/of Azure Storage blobs | Registreert berichten die worden gegenereerd door uw toepassingscode. De berichten kunnen worden gegenereerd door het web-framework dat u kiest, of rechtstreeks vanuit uw toepassingscode met behulp van het standaardlogboekpatroon van uw taal. Aan elk bericht is een van de volgende categorieën toegewezen: Kritiek, Fout, Waarschuwing, Info, Fouten opsporen en Traceren. U kunt selecteren hoe uitgebreid de logboekregistratie moet zijn door het ernstniveau in te stellen wanneer u toepassingslogregistratie inschakelen. |
| Logboekregistratie van webserver | Windows | App Service-bestandssysteem of Azure Storage blobs | Onbewerkte HTTP-aanvraaggegevens in de uitgebreide W3C-indeling voor logboekbestanden. Elk logboekbericht bevat gegevens zoals de HTTP-methode, resource-URI, client-IP, clientpoort, gebruikersagent, antwoordcode, en meer. |
| Gedetailleerde foutberichten | Windows | App Service-bestandssysteem | Kopieën van de .htm foutpagina's die naar de clientbrowser zouden zijn verzonden. Uit veiligheidsoverwegingen mogen gedetailleerde foutpagina's niet worden verzonden naar clients in productie, maar App Service kunnen de foutpagina opslaan telkens wanneer er een toepassingsfout met HTTP-code 400 of hoger optreedt. De pagina kan informatie bevatten die kan helpen bepalen waarom de server de foutcode retourneert. |
| Tracering van mislukte aanvragen | Windows | App Service-bestandssysteem | Gedetailleerde traceringsinformatie over mislukte aanvragen, waaronder een tracering van de IIS-onderdelen die worden gebruikt voor het verwerken van de aanvraag en de tijd die nodig is voor elk onderdeel. Dit is handig als u de prestaties van de site wilt verbeteren of een specifieke HTTP-fout wilt isoleren. Er wordt één map gegenereerd voor elke mislukte aanvraag, die het XML-logboekbestand bevat, en het XSL-stijlblad om het logboekbestand mee weer te geven. |
| Implementatielogregistratie | Windows, Linux | App Service-bestandssysteem | Registreert voor wanneer u inhoud naar een app publiceert. Registratie van implementatie vindt automatisch plaats en er zijn geen configureerbare instellingen voor implementatielogregistratie. Het helpt u te bepalen waarom een implementatie is mislukt. Als u bijvoorbeeld een aangepast implementatiescriptgebruikt, kunt u implementatielogboekregistratie gebruiken om te bepalen waarom het script mislukt. |
Notitie
App Service biedt een speciaal, interactief diagnosehulpprogramma om u te helpen bij het oplossen van problemen met uw toepassing. Zie overzicht van diagnostische Azure App Service voor meer informatie.
Daarnaast kunt u andere Azure-services gebruiken om de logboek- en bewakingsmogelijkheden van uw app te verbeteren, zoals Azure Monitor.
Logboekregistratie van toepassingen inschakelen (Windows)
Notitie
Toepassingslogregistratie voor blobopslag kan alleen opslagaccounts gebruiken in dezelfde regio als de App Service
Als u toepassingslogboeken wilt inschakelen Windows apps in de Azure Portal,gaat u naar uw app en selecteert u App Service logboeken.
Selecteer Aan voor Application Logging (bestandssysteem) of Application Logging (blob) of beide.
De optie Bestandssysteem is bedoeld voor tijdelijke debuggingsdoeleinden en wordt binnen 12 uur uitgeschakeld. De optie Blob is voor langetermijnregistratie en heeft een Blob Storage-container nodig om logboeken naar te schrijven. De optie Blob bevat ook aanvullende informatie in de logboekberichten, zoals de id van de oorspronkelijke VM-instantie van het logboekbericht ( ), thread-id ( ) en een gedetailleerdere InstanceId Tid tijdstempel ( EventTickCount ).
Notitie
Momenteel kunnen alleen .NET-toepassingslogboeken naar de blobopslag worden geschreven. Java-, PHPNode.js- en Python-toepassingslogboeken kunnen alleen worden opgeslagen op het App Service-bestandssysteem (zonder codewijzigingen om logboeken naar externe opslag te schrijven).
Als u de toegangssleutelsvan uw opslagaccount opnieuw maakt, moet u ook de respectieve configuratie voor logboekregistratie opnieuw instellen om de bijgewerkte toegangssleutels te gebruiken. Om dit te doen:
- Stel op het tabblad Configureren de betreffende logboekregistratiefunctie in op Uit. Sla uw instelling op.
- Schakel logboekregistratie voor de blob van het opslagaccount opnieuw in. Sla uw instelling op.
Selecteer het niveau of het niveau van de details dat u wilt logboeken. In de volgende tabel ziet u de logboekcategorieën die zijn opgenomen in elk niveau:
| Niveau | Opgenomen categorieën |
|---|---|
| Uitgeschakeld | Geen |
| Fout | Fout, kritiek |
| Waarschuwing | Waarschuwing, Fout, Kritiek |
| Informatie | Info, Waarschuwing, Fout, Kritiek |
| Uitgebreide | Trace, Debug, Info, Warning, Error, Critical (alle categorieën) |
Wanneer u klaar bent, selecteert u Opslaan.
Notitie
Als u logboeken naar blobs schrijft, is het bewaarbeleid niet meer van toepassing als u de app verwijdert, maar de logboeken in de blobs houdt. Zie Kosten die kunnen ontstaan na het verwijderen van resources voor meer informatie.
Toepassingslogregistratie inschakelen (Linux/Container)
Als u toepassingslogboeken wilt inschakelen voor Linux-apps of aangepaste container-apps in de Azure Portal,navigeert u naar uw app en selecteert App Service logboeken.
Selecteer bestandssysteem in Toepassingslogregistratie.
Geef in Quotum (MB) het schijfquotum voor de toepassingslogboeken op. Stel in Bewaarperiode (dagen) het aantal dagen in dat de logboeken moeten worden bewaard.
Wanneer u klaar bent, selecteert u Opslaan.
Logboekregistratie van webservers inschakelen
Als u webserverlogboeken wilt inschakelen Windows apps in de Azure Portal,gaat u naar uw app en selecteert u App Service logboeken.
Selecteer voor Logboekregistratie van webserver Storage logboeken op te slaan in blobopslag of Bestandssysteem voor het opslaan van logboeken op het App Service bestandssysteem.
Stel in Bewaarperiode (dagen) het aantal dagen in dat de logboeken moeten worden bewaard.
Notitie
Als u de toegangssleutels vanuw opslagaccount opnieuw opstart, moet u de configuratie van de logboekregistratie opnieuw instellen om de bijgewerkte sleutels te gebruiken. Om dit te doen:
- Stel op het tabblad Configureren de betreffende logboekregistratiefunctie in op Uit. Sla uw instelling op.
- Schakel logboekregistratie voor de blob van het opslagaccount opnieuw in. Sla uw instelling op.
Wanneer u klaar bent, selecteert u Opslaan.
Notitie
Als u logboeken naar blobs schrijft, is het bewaarbeleid niet meer van toepassing als u de app verwijdert, maar de logboeken in de blobs houdt. Zie Kosten die kunnen ontstaan na het verwijderen van resources voor meer informatie.
Gedetailleerde fouten in logboeken
Als u de foutpagina of mislukte tracering van aanvragen voor Windows-apps in de Azure Portal wiltopslaan, gaat u naar uw app en selecteert u App Service logboeken.
Selecteer onder Gedetailleerde logboekregistratie van fouten of Tracering van mislukte aanvragen de optie Aan en selecteer vervolgens Opslaan.
Beide typen logboeken worden opgeslagen in App Service bestandssysteem. Er worden maximaal 50 fouten (bestanden/mappen) bewaard. Wanneer het aantal HTML-bestanden groter is dan 50, worden de oudste foutbestanden automatisch verwijderd.
Met de functie Tracering van mislukte aanvragen wordt standaard een logboek vastgelegd met aanvragen die zijn mislukt met HTTP-statuscodes tussen 400 en 600. Als u aangepaste regels wilt opgeven, kunt u de sectie <traceFailedRequests> in hetweb.configoverschrijven.
Logboekberichten toevoegen in code
In uw toepassingscode gebruikt u de gebruikelijke faciliteiten voor logboekregistratie om logboekberichten naar de toepassingslogboeken te verzenden. Bijvoorbeeld:
ASP.NET kunnen de klasse System.Diagnostics.Trace gebruiken om informatie in het diagnostische logboek van de toepassing te verzamelen. Bijvoorbeeld:
System.Diagnostics.Trace.TraceError("If you're seeing this, something bad happened");Standaard gebruikt ASP.NET Core microsoft.Extensions.Logging.AzureAppServices-provider voor logboekregistratie. Zie Logboekregistratie in Azure ASP.NET Core meer informatie. Zie Get started with the Azure WebJobs SDK (Aan de slag met de SDK voor webjobs-SDK) voor meer informatie Azure WebJobs webjobs-SDK
Logboeken streamen
Voordat u logboeken in realtime streamt, moet u het want-logboektype inschakelen. Alle informatie die wordt geschreven naar bestanden die eindigen op .txt, .log of .htm die zijn opgeslagen in de map /LogFiles (d:/home/logfiles) wordt gestreamd door App Service.
Notitie
Sommige typen logboekregistratiebuffer schrijven naar het logboekbestand, wat kan leiden tot niet-volgordegebeurtenissen in de stroom. Een toepassingslogboekinvoer die bijvoorbeeld plaatsvindt wanneer een gebruiker een pagina bezoekt, kan worden weergegeven in de stroom vóór de bijbehorende HTTP-logboekinvoer voor de paginaaanvraag.
In Azure Portal
Als u logboeken in de Azure Portal,navigeert u naar uw app en selecteert u Logboekstream.
In Cloud Shell
Als u logboeken live wilt streamen in Cloud Shell, gebruikt u de volgende opdracht:
Belangrijk
Deze opdracht werkt mogelijk niet met web-apps die worden gehost in een Linux App Service-plan.
az webapp log tail --name appname --resource-group myResourceGroup
Als u specifieke logboektypen, zoals HTTP, wilt filteren, gebruikt u de parameter --Provider. Bijvoorbeeld:
az webapp log tail --name appname --resource-group myResourceGroup --provider http
In de lokale terminal
Als u logboeken in de lokale console wilt streamen, installeert u Azure CLI en meldt u zich aan bij uw account. Nadat u bent aangemeld, volgt u de instructies voor Cloud Shell
Logboekbestanden openen
Als u de optie Azure Storage voor een logboektype configureert, hebt u een clienthulpprogramma nodig dat werkt met Azure Storage. Zie clienthulpprogramma'Azure Storage voor meer informatie.
Voor logboeken die zijn opgeslagen in App Service-bestandssysteem, is de eenvoudigste manier om het ZIP-bestand in de browser te downloaden op:
- Linux-/container-apps:
https://<app-name>.scm.azurewebsites.net/api/logs/docker/zip - Windows apps:
https://<app-name>.scm.azurewebsites.net/api/dump
Voor Linux-/container-apps bevat het ZIP-bestand console-uitvoerlogboeken voor zowel de docker-host als de docker-container. Voor een geschaalde app bevat het ZIP-bestand één set logboeken voor elk exemplaar. In het App Service zijn deze logboekbestanden de inhoud van de map /home/LogFiles.
Voor Windows-apps bevat het ZIP-bestand de inhoud van de map D:\Home\LogFiles in App Service bestandssysteem. Deze heeft de volgende structuur:
| Logboektype | Directory | Description |
|---|---|---|
| Toepassingslogboeken | /LogFiles/Application/ | Bevat een of meer tekstbestanden. De indeling van de logboekberichten is afhankelijk van de provider voor logboekregistratie die u gebruikt. |
| Traceringen mislukte aanvragen | /LogFiles/W3SVC##########/ | Bevat XML-bestanden en een XSL-bestand. U kunt de opgemaakte XML-bestanden weergeven in de browser. |
| Gedetailleerde foutenlogboeken | /LogFiles/DetailedErrors/ | Bevat HTM-foutbestanden. U kunt de HTM-bestanden weergeven in de browser. Een andere manier om de traceringen van mislukte aanvragen weer te geven, is door naar uw app-pagina in de portal te navigeren. Selecteer in het menu links Problemen vaststellen en oplossen, zoek naar Logboeken voor tracering van mislukte aanvragen en klik vervolgens op het pictogram om te bladeren en de gezochte tracering weer te geven. |
| Webserverlogboeken | /LogFiles/http/RawLogs/ | Bevat tekstbestanden die zijn opgemaakt met de uitgebreide W3C-indeling voor logboekbestanden. Deze informatie kan worden gelezen met behulp van een teksteditor of een hulpprogramma zoals Log Parser. App Service biedt geen ondersteuning voor s-computername de velden , of s-ip cs-version . |
| Implementatielogboeken | /LogFiles/Git/ en /deployments/ | Logboeken bevatten die worden gegenereerd door de interne implementatieprocessen, evenals logboeken voor Git-implementaties. |
Logboeken verzenden naar Azure Monitor
Met de nieuwe Azure Monitor-integratiekunt u diagnostische gegevens maken Instellingen logboeken te verzenden naar Storage Accounts, Event Hubs en Log Analytics.

Ondersteunde logboektypen
In de volgende tabel ziet u de ondersteunde logboektypen en beschrijvingen:
| Logboektype | Windows | Windows Container | Linux | Linux-container | Description |
|---|---|---|---|---|---|
| AppServiceConsoleLogs | Java SE & Tomcat | Ja | Ja | Ja | Standaarduitvoer en standaardfout |
| AppServiceHTTPLogs | Ja | Ja | Ja | Ja | Webserverlogboeken |
| AppServiceEnvironmentPlatformLogs | Yes | N.v.t. | Ja | Ja | App Service Environment: schalen, configuratiewijzigingen en statuslogboeken |
| AppServiceAuditLogs | Ja | Ja | Ja | Ja | Aanmeldingsactiviteit via FTP en Kudu |
| AppServiceFileAuditLogs | Ja | Ja | TBA | TBA | Bestandswijzigingen die zijn aangebracht in de site-inhoud; alleen beschikbaar voor Premium-laag en hoger |
| AppServiceAppLogs | ASP.NET & Tomcat 1 | ASP.NET & Tomcat 1 | Java SE & Tomcat Images 2 | Java SE & Tomcat Images 2 | Toepassingslogboeken |
| AppServiceIPSecAuditLogs | Ja | Ja | Ja | Ja | Aanvragen van IP-regels |
| AppServicePlatformLogs | TBA | Ja | Ja | Ja | Containerbewerkingslogboeken |
| AppServiceAntivirusScanAuditLogs 3 | Ja | Ja | Ja | Ja | Antivirusscanlogboeken met Microsoft Defender for Cloud; alleen beschikbaar voor Premium laag |
1 Voeg voor Tomcat-apps toe TOMCAT_USE_STARTUP_BAT aan de app-instellingen en stel deze in op false of 0 . Moet de nieuwste Tomcat-versie hebben en java.util.logging gebruiken.
2 Voor Java SE-apps voegt u WEBSITE_AZMON_PREVIEW_ENABLED toe aan de app-instellingen en stelt u deze in true op of op 1 .
3 Het logboektype AppServiceAntivirusScanAuditLogs is momenteel nog in preview